Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Jan 2011 10:21:54 +0530
From:      "Jayachandran C." <c.jayachandran@gmail.com>
To:        freebsd-mips@freebsd.org
Subject:   [PATCH] Support for 64-bit PTEs on n64
Message-ID:  <AANLkTinpdhjO_TXqkS4GRRZDtSG91GZYHhLzYmWi5yf6@mail.gmail.com>

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

Here's my initial code to support >4GB physical memory on MIPS.  This
patch adds 64 bit page table entries in n64 compilation.

I would like to add this as an optional feature for n32/o32
compilation with 'option PHYSADDR_64_BIT' later.

Comments welcome, I will check this in some time later this week if
all goes well.

JC.

--0016e65b606421f841049976ba4c
Content-Type: text/x-patch; charset=US-ASCII; name="mips-pte64.diff"
Content-Disposition: attachment; filename="mips-pte64.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_giqw7hxg0

SW5kZXg6IHN5cy9taXBzL2luY2x1ZGUvcGFyYW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvbWlwcy9p
bmNsdWRlL3BhcmFtLmgJKHJldmlzaW9uIDIxNzE2NikKKysrIHN5cy9taXBzL2luY2x1ZGUvcGFy
YW0uaAkod29ya2luZyBjb3B5KQpAQCAtMTIzLDEzICsxMjMsMjIgQEAKICNkZWZpbmUJTlBURVBH
CQkoUEFHRV9TSVpFLyhzaXplb2YgKHB0X2VudHJ5X3QpKSkKICNkZWZpbmUJTlBERVBHCQkoUEFH
RV9TSVpFLyhzaXplb2YgKHBkX2VudHJ5X3QpKSkKIAorI2lmZGVmIF9fbWlwc19uNjQgLyogUEhZ
U0FERFJfNjRfQklUICovCisjZGVmaW5lCU5QVEVQR1NISUZUCTkgICAgICAgICAgICAgICAvKiBM
T0cyKE5QVEVQRykgKi8KKyNkZWZpbmUJTlBERVBHU0hJRlQJOSAgICAgICAgICAgICAgIC8qIExP
RzIoTlBURVBHKSAqLworI2Vsc2UKKyNkZWZpbmUJTlBURVBHU0hJRlQJMTAgICAgICAgICAgICAg
ICAvKiBMT0cyKE5QVEVQRykgKi8KKyNkZWZpbmUJTlBERVBHU0hJRlQJOSAgICAgICAgICAgICAg
IC8qIExPRzIoTlBURVBHKSAqLworI2VuZGlmCisKKwogI2lmIGRlZmluZWQoX19taXBzX242NCkK
LSNkZWZpbmUJU0VHU0hJRlQJMzEJCS8qIExPRzIoTkJTRUcpICovCi0jZGVmaW5lCU5CU0VHCQko
MXVsIDw8IFNFR1NISUZUKQkvKiBieXRlcy9zZWdtZW50ICovCi0jZGVmaW5lCVBEUlNISUZUCTIy
ICAgICAgICAgICAgICAvKiBzZWNvbmQgbGV2ZWwgKi8KKyNkZWZpbmUJU0VHU0hJRlQJKFBBR0Vf
U0hJRlQgKyBOUFRFUEdTSElGVCArIE5QREVQR1NISUZUKQorI2RlZmluZQlOQlNFRwkJKDF1bCA8
PCBTRUdTSElGVCkKKyNkZWZpbmUJUERSU0hJRlQJKFBBR0VfU0hJRlQgKyBOUFRFUEdTSElGVCkK
ICNkZWZpbmUJUERSTUFTSwkJKCgxIDw8IFBEUlNISUZUKSAtIDEpCiAjZWxzZQotI2RlZmluZQlT
RUdTSElGVAkyMgkJLyogTE9HMihOQlNFRykgKi8KKyNkZWZpbmUJU0VHU0hJRlQJKFBBR0VfU0hJ
RlQgKyBOUFRFUEdTSElGVCkKICNkZWZpbmUJTkJTRUcJCSgxIDw8IFNFR1NISUZUKQkvKiBieXRl
cy9zZWdtZW50ICovCiAjZGVmaW5lCVBEUlNISUZUCVNFR1NISUZUCS8qIGFsaWFzIGZvciBTRUcg
aW4gMzIgYml0ICovCiAjZGVmaW5lCVBEUk1BU0sJCSgoMSA8PCBQRFJTSElGVCkgLSAxKQpJbmRl
eDogc3lzL21pcHMvaW5jbHVkZS9jcHVmdW5jLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvaW5j
bHVkZS9jcHVmdW5jLmgJKHJldmlzaW9uIDIxNzE2NikKKysrIHN5cy9taXBzL2luY2x1ZGUvY3B1
ZnVuYy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcsMTIgKzEzNywxMyBAQAogfSBzdHJ1Y3QgX19o
YWNrCiAKICNpZiBkZWZpbmVkKF9fbWlwc19uNjQpCi1NSVBTX1JXNjRfQ09QMChleGNwYywgTUlQ
U19DT1BfMF9FWENfUEMpOwotTUlQU19SVzY0X0NPUDAoZW50cnlsbzAsIE1JUFNfQ09QXzBfVExC
X0xPMCk7Ci1NSVBTX1JXNjRfQ09QMChlbnRyeWxvMSwgTUlQU19DT1BfMF9UTEJfTE8xKTsKIE1J
UFNfUlc2NF9DT1AwKGVudHJ5aGksIE1JUFNfQ09QXzBfVExCX0hJKTsKIE1JUFNfUlc2NF9DT1Aw
KHBhZ2VtYXNrLCBNSVBTX0NPUF8wX1RMQl9QR19NQVNLKTsKICNlbmRpZgorI2lmIGRlZmluZWQo
X19taXBzX242NCkgLyogUEhZU0FERFJfNjRfQklUICovCitNSVBTX1JXNjRfQ09QMChlbnRyeWxv
MCwgTUlQU19DT1BfMF9UTEJfTE8wKTsKK01JUFNfUlc2NF9DT1AwKGVudHJ5bG8xLCBNSVBTX0NP
UF8wX1RMQl9MTzEpOworI2VuZGlmCiBNSVBTX1JXNjRfQ09QMCh4Y29udGV4dCwgTUlQU19DT1Bf
MF9UTEJfWENPTlRFWFQpOwogCiAjdW5kZWYJTUlQU19SVzY0X0NPUDAKQEAgLTIyMSwxMSArMjIy
LDEzIEBACiAKIC8qIFhYWDogU29tZSBvZiB0aGVzZSByZWdpc3RlcnMgYXJlIHNwZWNpZmljIHRv
IE1JUFMzMi4gKi8KICNpZiAhZGVmaW5lZChfX21pcHNfbjY0KQotTUlQU19SVzMyX0NPUDAoZW50
cnlsbzAsIE1JUFNfQ09QXzBfVExCX0xPMCk7Ci1NSVBTX1JXMzJfQ09QMChlbnRyeWxvMSwgTUlQ
U19DT1BfMF9UTEJfTE8xKTsKIE1JUFNfUlczMl9DT1AwKGVudHJ5aGksIE1JUFNfQ09QXzBfVExC
X0hJKTsKIE1JUFNfUlczMl9DT1AwKHBhZ2VtYXNrLCBNSVBTX0NPUF8wX1RMQl9QR19NQVNLKTsK
ICNlbmRpZgorI2lmICFkZWZpbmVkKF9fbWlwc19uNjQpIC8qIFBIWVNBRERSXzY0X0JJVCAqLwor
TUlQU19SVzMyX0NPUDAoZW50cnlsbzAsIE1JUFNfQ09QXzBfVExCX0xPMCk7CitNSVBTX1JXMzJf
Q09QMChlbnRyeWxvMSwgTUlQU19DT1BfMF9UTEJfTE8xKTsKKyNlbmRpZgogTUlQU19SVzMyX0NP
UDAocHJpZCwgTUlQU19DT1BfMF9QUklEKTsKIC8qIFhYWCA2NC1iaXQ/ICAqLwogTUlQU19SVzMy
X0NPUDBfU0VMKGViYXNlLCBNSVBTX0NPUF8wX1BSSUQsIDEpOwpJbmRleDogc3lzL21pcHMvaW5j
bHVkZS9wdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvbWlwcy9pbmNsdWRlL3B0ZS5oCShyZXZpc2lv
biAyMTcxNjYpCisrKyBzeXMvbWlwcy9pbmNsdWRlL3B0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
MCw4ICszMCwxMSBAQAogI2RlZmluZQlfTUFDSElORV9QVEVfSF8KIAogI2lmbmRlZiBfTE9DT1JF
Ci0vKiBwdF9lbnRyeV90IGlzIDMyIGJpdCBmb3Igbm93LCBoYXMgdG8gYmUgbWFkZSA2NCBiaXQg
Zm9yIG42NCAqLworI2lmZGVmIF9fbWlwc19uNjQgLyogUEhZU0FERFJfNjRfQklUICovCit0eXBl
ZGVmCXVpbnQ2NF90IHB0X2VudHJ5X3Q7CisjZWxzZQogdHlwZWRlZgl1aW50MzJfdCBwdF9lbnRy
eV90OworI2VuZGlmCiB0eXBlZGVmCXB0X2VudHJ5X3QgKnBkX2VudHJ5X3Q7CiAjZW5kaWYKIApA
QCAtNjEsMTAgKzY0LDE1IEBACiAgKiB3cml0dGVuIGFzIGFueXRoaW5nLCBidXQgb3RoZXJ3aXNl
IHRoZXkgaGF2ZSBhcyBtdWNoIG1lYW5pbmcgYXMKICAqIG90aGVyIDAgZmllbGRzLgogICovCisj
aWZkZWYgX19taXBzX242NCAvKiBQSFlTQUREUl82NF9CSVQgKi8KKyNkZWZpbmUJVExCTE9fU1dC
SVRTX1NISUZUCSgzNCkKKyNkZWZpbmUJVExCTE9fUEZOX01BU0sJCTB4M0ZGRkZGRkMwVUxMCisj
ZWxzZQogI2RlZmluZQlUTEJMT19TV0JJVFNfU0hJRlQJKDMwKQotI2RlZmluZQlUTEJMT19TV0JJ
VFNfTUFTSwkoMHgzVSA8PCBUTEJMT19TV0JJVFNfU0hJRlQpCisjZGVmaW5lCVRMQkxPX1BGTl9N
QVNLCQkoMHgzRkZGRkZDMCkKKyNlbmRpZgogI2RlZmluZQlUTEJMT19QRk5fU0hJRlQJCSg2KQot
I2RlZmluZQlUTEJMT19QRk5fTUFTSwkJKDB4M0ZGRkZGQzApCisjZGVmaW5lCVRMQkxPX1NXQklU
U19NQVNLCSgocHRfZW50cnlfdCkweDMgPDwgVExCTE9fU1dCSVRTX1NISUZUKQogI2RlZmluZQlU
TEJMT19QQV9UT19QRk4ocGEpCSgoKChwYSkgPj4gVExCX1BBR0VfU0hJRlQpIDw8IFRMQkxPX1BG
Tl9TSElGVCkgJiBUTEJMT19QRk5fTUFTSykKICNkZWZpbmUJVExCTE9fUEZOX1RPX1BBKHBmbikJ
KCh2bV9wYWRkcl90KSgocGZuKSA+PiBUTEJMT19QRk5fU0hJRlQpIDw8IFRMQl9QQUdFX1NISUZU
KQogI2RlZmluZQlUTEJMT19QVEVfVE9fUEZOKHB0ZSkJKChwdGUpICYgVExCTE9fUEZOX01BU0sp
CkBAIC05NiwxMCArMTA0LDEwIEBACiAjZGVmaW5lCVRMQkhJX0VOVFJZKHZhLCBhc2lkKQkoKFRM
QkhJX1ZBX1IoKHZhKSkpIC8qIFJlZ2lvbi4gKi8gfCBcCiAJCQkJIChUTEJISV9WQV9UT19WUE4y
KCh2YSkpKSAvKiBWUE4yLiAqLyB8IFwKIAkJCQkgKChhc2lkKSAmIFRMQkhJX0FTSURfTUFTSykp
Ci0jZWxzZQorI2Vsc2UgLyogIWRlZmluZWQoX19taXBzX242NCkgKi8KICNkZWZpbmUJVExCSElf
UEFHRV9NQVNLCQkoMiAqIFBBR0VfU0laRSAtIDEpCiAjZGVmaW5lCVRMQkhJX0VOVFJZKHZhLCBh
c2lkKQkoKCh2YSkgJiB+VExCSElfUEFHRV9NQVNLKSB8ICgoYXNpZCkgJiBUTEJISV9BU0lEX01B
U0spKQotI2VuZGlmCisjZW5kaWYgLyogZGVmaW5lZChfX21pcHNfbjY0KSAqLwogCiAvKgogICog
VExCIGZsYWdzIG1hbmFnZWQgaW4gaGFyZHdhcmU6CkBAIC0xMjUsOCArMTMzLDggQEAKICAqIAkJ
bGlzdGVuIHRvIHJlcXVlc3RzIHRvIHdyaXRlIHRvIGl0LgogICogCVc6CVdpcmVkLiAgPz8/CiAg
Ki8KLSNkZWZpbmUJUFRFX1JPCSgweDAxIDw8IFRMQkxPX1NXQklUU19TSElGVCkKLSNkZWZpbmUJ
UFRFX1cJKDB4MDIgPDwgVExCTE9fU1dCSVRTX1NISUZUKQorI2RlZmluZQlQVEVfUk8JKChwdF9l
bnRyeV90KTB4MDEgPDwgVExCTE9fU1dCSVRTX1NISUZUKQorI2RlZmluZQlQVEVfVwkoKHB0X2Vu
dHJ5X3QpMHgwMiA8PCBUTEJMT19TV0JJVFNfU0hJRlQpCiAKIC8qCiAgKiBQVEUgbWFuYWdlbWVu
dCBmdW5jdGlvbnMgZm9yIGJpdHMgZGVmaW5lZCBhYm92ZS4KSW5kZXg6IHN5cy9taXBzL2luY2x1
ZGUvcHJvYy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBzL2luY2x1ZGUvcHJvYy5oCShyZXZpc2lv
biAyMTcxNjYpCisrKyBzeXMvbWlwcy9pbmNsdWRlL3Byb2MuaAkod29ya2luZyBjb3B5KQpAQCAt
NDMsMTcgKzQzLDE3IEBACiAgKiBNYWNoaW5lLWRlcGVuZGVudCBwYXJ0IG9mIHRoZSBwcm9jIHN0
cnVjdHVyZS4KICAqLwogc3RydWN0IG1kdGhyZWFkIHsKLQlpbnQJbWRfZmxhZ3M7CQkvKiBtYWNo
aW5lLWRlcGVuZGVudCBmbGFncyAqLwotCWludAltZF91cHRlW0tTVEFDS19QQUdFU107CS8qIHB0
ZXMgZm9yIG1hcHBpbmcgdSBwY2IgKi8KLQlpbnQJbWRfc3NfYWRkcjsJCS8qIHNpbmdsZSBzdGVw
IGFkZHJlc3MgZm9yIHB0cmFjZSAqLwotCWludAltZF9zc19pbnN0cjsJCS8qIHNpbmdsZSBzdGVw
IGluc3RydWN0aW9uIGZvciBwdHJhY2UgKi8KKwlpbnQJCW1kX2ZsYWdzOwkvKiBtYWNoaW5lLWRl
cGVuZGVudCBmbGFncyAqLworCWxvbmcJCW1kX3VwdGVbS1NUQUNLX1BBR0VTXTsJLyogUEhZU0FE
RFJfNjRfQklUIHB0ZXMgZm9yIG1hcHBpbmcgdSBwY2IgKi8KKwlpbnQJCW1kX3NzX2FkZHI7CS8q
IHNpbmdsZSBzdGVwIGFkZHJlc3MgZm9yIHB0cmFjZSAqLworCWludAkJbWRfc3NfaW5zdHI7CS8q
IHNpbmdsZSBzdGVwIGluc3RydWN0aW9uIGZvciBwdHJhY2UgKi8KIAlyZWdpc3Rlcl90CW1kX3Nh
dmVkX2ludHI7Ci0JdV9pbnQJbWRfc3BpbmxvY2tfY291bnQ7CisJdV9pbnQJCW1kX3NwaW5sb2Nr
X2NvdW50OwogLyogVGhlIGZvbGxvd2luZyBpcyBDUFUgZGVwZW5kZW50LCBidXQga2VwdCBpbiBm
b3IgY29tcGF0aWJpbGl0eSAqLwotCWludAltZF9wY19jdHJsOwkJLyogcGVyZm9ybWFuY2UgY291
bnRlciBjb250cm9sICovCi0JaW50CW1kX3BjX2NvdW50OwkJLyogcGVyZm9ybWFuY2UgY291bnRl
ciAqLwotCWludAltZF9wY19zcGlsbDsJCS8qIHBlcmZvcm1hbmNlIGNvdW50ZXIgc3BpbGwgKi8K
LQl2b2lkCSptZF90bHM7CisJaW50CQltZF9wY19jdHJsOwkvKiBwZXJmb3JtYW5jZSBjb3VudGVy
IGNvbnRyb2wgKi8KKwlpbnQJCW1kX3BjX2NvdW50OwkvKiBwZXJmb3JtYW5jZSBjb3VudGVyICov
CisJaW50CQltZF9wY19zcGlsbDsJLyogcGVyZm9ybWFuY2UgY291bnRlciBzcGlsbCAqLworCXZv
aWQJCSptZF90bHM7CiB9OwogCiAvKiBtZF9mbGFncyAqLwpJbmRleDogc3lzL21pcHMvcm1pL3hs
cl9tYWNoZGVwLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvcm1pL3hscl9tYWNoZGVwLmMJKHJl
dmlzaW9uIDIxNzE2NikKKysrIHN5cy9taXBzL3JtaS94bHJfbWFjaGRlcC5jCSh3b3JraW5nIGNv
cHkpCkBAIC0zNDcsMTMgKzM0NywxMSBAQAogCQkJCWJyZWFrOwogCQkJfQogCQkJaWYgKGogPT0g
MCkgewotCQkJCS8qIFRPRE8gRklYTUUgICovCiAJCQkJLyogc3RhcnQgYWZ0ZXIga2VybmVsIGVu
ZCAqLwogCQkJCXBoeXNfYXZhaWxbMF0gPSAodm1fcGFkZHJfdCkKIAkJCQkgICAgTUlQU19LU0VH
MF9UT19QSFlTKCZfZW5kKSArIDB4MjAwMDA7CiAJCQkJLyogYm9vdCBsb2FkZXIgc3RhcnQgKi8K
IAkJCQkvKiBIQUNLIHRvIFVzZSBib290bG9hZGVycyBtZW1vcnkgcmVnaW9uICovCi0JCQkJLyog
VE9ETyBGSVhNRSAgKi8KIAkJCQlpZiAoYm9vdF9tYXAtPnBoeXNtZW1fbWFwWzBdLnNpemUgPT0g
MHgwYzAwMDAwMCkgewogCQkJCQlib290X21hcC0+cGh5c21lbV9tYXBbMF0uc2l6ZSA9IDB4MGZm
MDAwMDA7CiAJCQkJfQpAQCAtMzY3LDExICszNjUsNiBAQAogCQkJCWR1bXBfYXZhaWxbMV0gPSBw
aHlzX2F2YWlsWzFdOwogCiAJCQl9IGVsc2UgewotLyoKLSAqIENhbid0IHVzZSB0aGlzIGNvZGUg
eWV0LCBiZWNhdXNlIG1vc3Qgb2YgdGhlIGZpeGVkIGFsbG9jYXRpb25zIGhhcHBlbiBmcm9tCi0g
KiB0aGUgYmlnZ2VzdCBwaHlzaWNhbCBhcmVhLiBJZiB3ZSBoYXZlIG1vcmUgdGhhbiA1MTJNIG1l
bW9yeSB0aGUga2VybmVsIHdpbGwgdHJ5Ci0gKiB0byBtYXAgZnJvbSB0aGUgc2Vjb25kIGFyZSB3
aGljaCBpcyBub3QgaW4gS1NFRzAgYW5kIG5vdCBtYXBwZWQKLSAqLwogCQkJCXBoeXNfYXZhaWxb
al0gPSAodm1fcGFkZHJfdCkKIAkJCQkgICAgYm9vdF9tYXAtPnBoeXNtZW1fbWFwW2ldLmFkZHI7
CiAJCQkJcGh5c19hdmFpbFtqICsgMV0gPSBwaHlzX2F2YWlsW2pdICsKQEAgLTQwMSw3ICszOTQs
NiBAQAogCQl9CiAJfQogCi0JLyogRklYTUUgWExSIFRPRE8gKi8KIAlwaHlzX2F2YWlsW2pdID0g
cGh5c19hdmFpbFtqICsgMV0gPSAwOwogCXJlYWxtZW0gPSBwaHlzbWVtID0gYnRvYyhwaHlzc3op
OwogfQpJbmRleDogc3lzL21pcHMvbWlwcy9leGNlcHRpb24uUwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMv
bWlwcy9taXBzL2V4Y2VwdGlvbi5TCShyZXZpc2lvbiAyMTcxNjYpCisrKyBzeXMvbWlwcy9taXBz
L2V4Y2VwdGlvbi5TCSh3b3JraW5nIGNvcHkpCkBAIC02NiwyMSArNjYsMzQgQEAKIAogI2luY2x1
ZGUgImFzc3ltLnMiCiAKLS8qCi0gKiBDbGVhciB0aGUgc29mdHdhcmUtbWFuYWdlZCBiaXRzIGlu
IGEgUFRFIGluIHJlZ2lzdGVyIHByLgotICovCi0jZGVmaW5lCUNMRUFSX1BURV9TV0JJVFMocHIp
CQkJCQkJCVwKLQlzbGwJCXByLCAyIDsJCQkJCQkJXAotCXNybAkJcHIsIDIJCQkjIGtlZXAgYm90
dG9tIDMwIGJpdHMKKwkuc2V0CW5vcmVvcmRlcgkJIyBOb3Jlb3JkZXIgaXMgZGVmYXVsdCBzdHls
ZSEKIAotCS5zZXQJbm9yZW9yZGVyCQkJIyBOb3Jlb3JkZXIgaXMgZGVmYXVsdCBzdHlsZSEKLQog
LyoKICAqIFJlYXNvbmFibGUgbGltaXQKICAqLwogI2RlZmluZQlJTlRSQ05UX0NPVU5UCTEyOAog
CiAvKiBQb2ludGVyIHNpemUgYW5kIG1hc2sgZm9yIG42NCAqLworI2lmZGVmIF9fbWlwc19uNjQg
LyogUEhZU0FERFJfNjRfQklUICovCisjZGVmaW5lCVBURVNISUZUCTMKKyNkZWZpbmUJUFRFMk1B
U0sJMHhmZjAJCS8qIGZvciB0aGUgMi1wYWdlIGxvMC9sbzEgKi8KKyNkZWZpbmUJUFRFTUFTSwkJ
MHhmZjgKKyNkZWZpbmUJUFRFU0laRQkJOAorI2RlZmluZQlQVEVfTAkJbGQKKyNkZWZpbmUJUFRF
X01UQzAJZG10YzAKKyNkZWZpbmUJQ0xFQVJfUFRFX1NXQklUUyhwcikKKyNlbHNlCisjZGVmaW5l
CVBURVNISUZUCTIKKyNkZWZpbmUJUFRFMk1BU0sJMHhmZjgJCS8qIGZvciB0aGUgMi1wYWdlIGxv
MC9sbzEgKi8KKyNkZWZpbmUJUFRFTUFTSwkJMHhmZmMKKyNkZWZpbmUJUFRFU0laRQkJNAorI2Rl
ZmluZQlQVEVfTAkJbHcKKyNkZWZpbmUJUFRFX01UQzAJbXRjMAorI2RlZmluZQlDTEVBUl9QVEVf
U1dCSVRTKHByKQkJCQkJCVwKKwlzbGwJCXByLCAyIDsJCQkJCQlcCisJc3JsCQlwciwgMgkJIyBr
ZWVwIGJvdHRvbSAzMCBiaXRzCisjZW5kaWYKKwogI2lmIGRlZmluZWQoX19taXBzX242NCkKICNk
ZWZpbmUJUFRSU0hJRlQJMwogI2RlZmluZQlQVFJNQVNLCQkweGZmOApAQCAtMTQ1LDE2ICsxNTgs
MTYgQEAKIAlNRkMwCQlrMCwgTUlQU19DT1BfMF9CQURfVkFERFIJIyBrMD1iYWQgYWRkcmVzcyAo
YWdhaW4pCiAJYmVxCQlrMSwgemVybywgMmYJCQkjID09MCAtLSBubyBwYWdlIHRhYmxlCiAjZW5k
aWYKLQlQVFJfU1JMCQlrMCwgUEFHRV9TSElGVCAtIDIJCSMwYjogazA9VlBOIChha2EgdmE+PjEw
KQotCWFuZGkJCWswLCBrMCwgMHhmZjgJCQkjMGM6IGswPXBhZ2UgdGFiIG9mZnNldAorCVBUUl9T
UkwJCWswLCBQQUdFX1NISUZUIC0gUFRFU0hJRlQJIzBiOiBrMD1WUE4gKGFrYSB2YT4+MTApCisJ
YW5kaQkJazAsIGswLCBQVEUyTUFTSwkJIzBjOiBrMD1wYWdlIHRhYiBvZmZzZXQKIAlQVFJfQURE
VQlrMSwgazEsIGswCQkJIzBkOiBrMT1wdGUgYWRkcmVzcwotCWx3CQlrMCwgMChrMSkJCQkjMGU6
IGswPWxvMCBwdGUKLQlsdwkJazEsIDQoazEpCQkJIzBmOiBrMT1sbzAgcHRlCisJUFRFX0wJCWsw
LCAwKGsxKQkJCSMwZTogazA9bG8wIHB0ZQorCVBURV9MCQlrMSwgUFRFU0laRShrMSkJCQkjMGY6
IGsxPWxvMCBwdGUKIAlDTEVBUl9QVEVfU1dCSVRTKGswKQotCU1UQzAJCWswLCBNSVBTX0NPUF8w
X1RMQl9MTzAJCSMxMjogbG8wIGlzIGxvYWRlZAorCVBURV9NVEMwCWswLCBNSVBTX0NPUF8wX1RM
Ql9MTzAJCSMxMjogbG8wIGlzIGxvYWRlZAogCUNPUDBfU1lOQwogCUNMRUFSX1BURV9TV0JJVFMo
azEpCi0JTVRDMAkJazEsIE1JUFNfQ09QXzBfVExCX0xPMQkJIzE1OiBsbzEgaXMgbG9hZGVkCisJ
UFRFX01UQzAJazEsIE1JUFNfQ09QXzBfVExCX0xPMQkJIzE1OiBsbzEgaXMgbG9hZGVkCiAJQ09Q
MF9TWU5DCiAJdGxid3IJCQkJCQkjMWE6IHdyaXRlIHRvIHRsYgogCUhBWkFSRF9ERUxBWQpAQCAt
ODQ1LDEwICs4NTgsMTAgQEAKIAlub3AKICNlbmRpZgogCU1GQzAJCWswLCBNSVBTX0NPUF8wX0JB
RF9WQUREUgkjIGswPWJhZCBhZGRyZXNzIChhZ2FpbikKLQlQVFJfU1JMCQlrMCwgUEFHRV9TSElG
VCAtIDIJCSMgazA9VlBOCi0JYW5kaQkJazAsIGswLCAweGZmYwkJCSMgazA9cGFnZSB0YWIgb2Zm
c2V0CisJUFRSX1NSTAkJazAsIFBBR0VfU0hJRlQgLSBQVEVTSElGVAkjIGswPVZQTgorCWFuZGkJ
CWswLCBrMCwgUFRFTUFTSwkJCSMgazA9cGFnZSB0YWIgb2Zmc2V0CiAJUFRSX0FERFUJazEsIGsx
LCBrMAkJCSMgazE9cHRlIGFkZHJlc3MKLQlsdwkJazAsIDAoazEpCQkJIyBrMD10aGlzIFBURQor
CVBURV9MCQlrMCwgMChrMSkJCQkjIGswPXRoaXMgUFRFCiAKIAkvKiBWYWxpZGF0ZSBwYWdlIHRh
YmxlIGVudHJ5LiAgKi8KIAlhbmRpCQlrMCwgUFRFX1YKQEAgLTg1NiwzMCArODY5LDMwIEBACiAJ
bm9wCiAKIAkvKiBDaGVjayB3aGV0aGVyIHRoaXMgaXMgYW4gZXZlbiBvciBvZGQgZW50cnkuICAq
LwotCWFuZGkJCWswLCBrMSwgNAorCWFuZGkJCWswLCBrMSwgUFRFU0laRQogCWJuZXoJCWswLCBv
ZGRfcGFnZQogCW5vcAogCi0JbHcJCWswLCAwKGsxKQotCWx3CQlrMSwgNChrMSkKKwlQVEVfTAkJ
azAsIDAoazEpCisJUFRFX0wJCWsxLCBQVEVTSVpFKGsxKQogCUNMRUFSX1BURV9TV0JJVFMoazAp
Ci0JTVRDMAkJazAsIE1JUFNfQ09QXzBfVExCX0xPMAorCVBURV9NVEMwCWswLCBNSVBTX0NPUF8w
X1RMQl9MTzAKIAlDT1AwX1NZTkMKIAlDTEVBUl9QVEVfU1dCSVRTKGsxKQotCU1UQzAJCWsxLCBN
SVBTX0NPUF8wX1RMQl9MTzEKKwlQVEVfTVRDMAlrMSwgTUlQU19DT1BfMF9UTEJfTE8xCiAJQ09Q
MF9TWU5DCiAKIAliCQl0bGJfaW5zZXJ0X2VudHJ5CiAJbm9wCiAKIG9kZF9wYWdlOgotCWx3CQlr
MCwgLTQoazEpCi0JbHcJCWsxLCAwKGsxKQorCVBURV9MCQlrMCwgLVBURVNJWkUoazEpCisJUFRF
X0wJCWsxLCAwKGsxKQogCUNMRUFSX1BURV9TV0JJVFMoazApCi0JTVRDMAkJazAsIE1JUFNfQ09Q
XzBfVExCX0xPMAorCVBURV9NVEMwCWswLCBNSVBTX0NPUF8wX1RMQl9MTzAKIAlDT1AwX1NZTkMK
IAlDTEVBUl9QVEVfU1dCSVRTKGsxKQotCU1UQzAJCWsxLCBNSVBTX0NPUF8wX1RMQl9MTzEKKwlQ
VEVfTVRDMAlrMSwgTUlQU19DT1BfMF9UTEJfTE8xCiAJQ09QMF9TWU5DCiAKIHRsYl9pbnNlcnRf
ZW50cnk6CkBAIC0xMDEyLDE2ICsxMDI1LDE2IEBACiAJTUZDMAkJazAsIE1JUFNfQ09QXzBfQkFE
X1ZBRERSCSMgazA9YmFkIGFkZHJlc3MgKGFnYWluKQogICAJYmVxCQlrMSwgemVybywgTWlwc0tl
cm5HZW5FeGNlcHRpb24JIyA9PTAgLS0gbm8gcGFnZSB0YWJsZQogI2VuZGlmCi0JUFRSX1NSTAkJ
azAsIFBBR0VfU0hJRlQgLSAyCQkjIGswPVZQTgotCWFuZGkJCWswLCBrMCwgMHhmZjgJCQkjIGsw
PXBhZ2UgdGFiIG9mZnNldAorCVBUUl9TUkwJCWswLCBQQUdFX1NISUZUIC0gUFRFU0hJRlQJIyBr
MD1WUE4KKwlhbmRpCQlrMCwgazAsIFBURTJNQVNLCQkjIGswPXBhZ2UgdGFiIG9mZnNldAogCVBU
Ul9BRERVCWsxLCBrMSwgazAJCQkjIGsxPXB0ZSBhZGRyZXNzCi0JbHcJCWswLCAwKGsxKQkJCSMg
azA9bG8wIHB0ZQotCWx3CQlrMSwgNChrMSkJCQkjIGsxPWxvMSBwdGUKKwlQVEVfTAkJazAsIDAo
azEpCQkJIyBrMD1sbzAgcHRlCisJUFRFX0wJCWsxLCBQVEVTSVpFKGsxKQkJCSMgazE9bG8xIHB0
ZQogCUNMRUFSX1BURV9TV0JJVFMoazApCi0JTVRDMAkJazAsIE1JUFNfQ09QXzBfVExCX0xPMAkJ
IyBsbzAgaXMgbG9hZGVkCisJUFRFX01UQzAJazAsIE1JUFNfQ09QXzBfVExCX0xPMAkJIyBsbzAg
aXMgbG9hZGVkCiAJQ09QMF9TWU5DCiAJQ0xFQVJfUFRFX1NXQklUUyhrMSkKLQlNVEMwCQlrMSwg
TUlQU19DT1BfMF9UTEJfTE8xCQkjIGxvMSBpcyBsb2FkZWQKKwlQVEVfTVRDMAlrMSwgTUlQU19D
T1BfMF9UTEJfTE8xCQkjIGxvMSBpcyBsb2FkZWQKIAlDT1AwX1NZTkMKIAl0bGJ3cgkJCQkJIyB3
cml0ZSB0byB0bGIKIAlIQVpBUkRfREVMQVkKSW5kZXg6IHN5cy9taXBzL21pcHMvcG1hcC5jCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIHN5cy9taXBzL21pcHMvcG1hcC5jCShyZXZpc2lvbiAyMTcxNjYpCisrKyBz
eXMvbWlwcy9taXBzL3BtYXAuYwkod29ya2luZyBjb3B5KQpAQCAtMTg0LDcgKzE4NCw3IEBACiBz
dGF0aWMgdm1fcGFnZV90IHBtYXBfYWxsb2NwdGUocG1hcF90IHBtYXAsIHZtX29mZnNldF90IHZh
LCBpbnQgZmxhZ3MpOwogc3RhdGljIHZtX3BhZ2VfdCBfcG1hcF9hbGxvY3B0ZShwbWFwX3QgcG1h
cCwgdW5zaWduZWQgcHRlcGluZGV4LCBpbnQgZmxhZ3MpOwogc3RhdGljIGludCBwbWFwX3VudXNl
X3B0KHBtYXBfdCwgdm1fb2Zmc2V0X3QsIHZtX3BhZ2VfdCk7Ci1zdGF0aWMgaW50IGluaXRfcHRl
X3Byb3Qodm1fb2Zmc2V0X3QgdmEsIHZtX3BhZ2VfdCBtLCB2bV9wcm90X3QgcHJvdCk7CitzdGF0
aWMgdm1fcGFkZHJfdCBpbml0X3B0ZV9wcm90KHZtX29mZnNldF90IHZhLCB2bV9wYWdlX3QgbSwg
dm1fcHJvdF90IHByb3QpOwogCiAjaWZkZWYgU01QCiBzdGF0aWMgdm9pZCBwbWFwX2ludmFsaWRh
dGVfcGFnZV9hY3Rpb24odm9pZCAqYXJnKTsKQEAgLTE1NjIsNyArMTU2Miw3IEBACiB7CiAJcHRf
ZW50cnlfdCBvbGRwdGU7CiAJdm1fcGFnZV90IG07Ci0Jdm1fb2Zmc2V0X3QgcGE7CisJdm1fcGFk
ZHJfdCBwYTsKIAogCW10eF9hc3NlcnQoJnZtX3BhZ2VfcXVldWVfbXR4LCBNQV9PV05FRCk7CiAJ
UE1BUF9MT0NLX0FTU0VSVChwbWFwLCBNQV9PV05FRCk7CkBAIC0xODUwLDEyICsxODUwLDEyIEBA
CiBwbWFwX2VudGVyKHBtYXBfdCBwbWFwLCB2bV9vZmZzZXRfdCB2YSwgdm1fcHJvdF90IGFjY2Vz
cywgdm1fcGFnZV90IG0sCiAgICAgdm1fcHJvdF90IHByb3QsIGJvb2xlYW5fdCB3aXJlZCkKIHsK
LQl2bV9vZmZzZXRfdCBwYSwgb3BhOworCXZtX3BhZGRyX3QgcGEsIG9wYTsKIAlwdF9lbnRyeV90
ICpwdGU7CiAJcHRfZW50cnlfdCBvcmlncHRlLCBuZXdwdGU7CiAJcHZfZW50cnlfdCBwdjsKIAl2
bV9wYWdlX3QgbXB0ZSwgb207Ci0JaW50IHJ3ID0gMDsKKwlwdF9lbnRyeV90IHJ3ID0gMDsKIAog
CWlmIChwbWFwID09IE5VTEwpCiAJCXJldHVybjsKQEAgLTIwNjMsNyArMjA2Myw3IEBACiAgICAg
dm1fcHJvdF90IHByb3QsIHZtX3BhZ2VfdCBtcHRlKQogewogCXB0X2VudHJ5X3QgKnB0ZTsKLQl2
bV9vZmZzZXRfdCBwYTsKKwl2bV9wYWRkcl90IHBhOwogCiAJS0FTU0VSVCh2YSA8IGttaS5jbGVh
bl9zdmEgfHwgdmEgPj0ga21pLmNsZWFuX2V2YSB8fAogCSAgICAobS0+ZmxhZ3MgJiAoUEdfRklD
VElUSU9VUyB8IFBHX1VOTUFOQUdFRCkpICE9IDAsCkBAIC0yOTAzLDcgKzI5MDMsNyBAQAogcG1h
cF9taW5jb3JlKHBtYXBfdCBwbWFwLCB2bV9vZmZzZXRfdCBhZGRyLCB2bV9wYWRkcl90ICpsb2Nr
ZWRfcGEpCiB7CiAJcHRfZW50cnlfdCAqcHRlcCwgcHRlOwotCXZtX29mZnNldF90IHBhOworCXZt
X3BhZGRyX3QgcGE7CiAJdm1fcGFnZV90IG07CiAJaW50IHZhbDsKIAlib29sZWFuX3QgbWFuYWdl
ZDsKQEAgLTMwNjYsOCArMzA2Niw4IEBACiAJCQkJCWNvbnRpbnVlOwogCQkJCXBhID0gVExCTE9f
UFRFX1RPX1BBKHB0ZSk7CiAJCQkJdmEgPSAoKHVfbG9uZylpIDw8IFNFR1NISUZUKSB8IChqIDw8
IFBEUlNISUZUKSB8IChrIDw8IFBBR0VfU0hJRlQpOwotCQkJCWRiX3ByaW50ZigiXHRcdFslMDRk
XSB2YTogJXAgcHRlOiAlOHggcGE6JWx4XG4iLAotCQkJCSAgICAgICBrLCAodm9pZCAqKXZhLCBw
dGUsICh1X2xvbmcpcGEpOworCQkJCWRiX3ByaW50ZigiXHRcdFslMDRkXSB2YTogJXAgcHRlOiAl
OGp4IHBhOiVqeFxuIiwKKwkJCQkgICAgICAgaywgKHZvaWQgKil2YSwgKHVpbnRtYXhfdClwdGUs
ICh1aW50bWF4X3QpcGEpOwogCQkJfQogCQl9CiAJfQpAQCAtMzE3MSwxMCArMzE3MSwxMCBAQAog
CXJldHVybiAoMCk7CiB9CiAKLXN0YXRpYyBpbnQKK3N0YXRpYyBwdF9lbnRyeV90CiBpbml0X3B0
ZV9wcm90KHZtX29mZnNldF90IHZhLCB2bV9wYWdlX3QgbSwgdm1fcHJvdF90IHByb3QpCiB7Ci0J
aW50IHJ3OworCXB0X2VudHJ5X3Qgcnc7CiAKIAlpZiAoIShwcm90ICYgVk1fUFJPVF9XUklURSkp
CiAJCXJ3ID0gIFBURV9WIHwgUFRFX1JPIHwgUFRFX0NfQ0FDSEU7CkBAIC0zMjAzLDcgKzMyMDMs
NyBAQAogewogCXZtX3BhZ2VfdCBtOwogCXB0X2VudHJ5X3QgKnB0ZTsKLSAJdm1fb2Zmc2V0X3Qg
cGE7CisgCXZtX3BhZGRyX3QgcGE7CiAKIAlQTUFQX0xPQ0socG1hcCk7CiAJcHRlID0gcG1hcF9w
dGUocG1hcCwgdmEpOwpJbmRleDogc3lzL21pcHMvbWlwcy90cmFwLmMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
c3lzL21pcHMvbWlwcy90cmFwLmMJKHJldmlzaW9uIDIxNzE2NikKKysrIHN5cy9taXBzL21pcHMv
dHJhcC5jCSh3b3JraW5nIGNvcHkpCkBAIC0xMjc2LDggKzEyNzYsOCBAQAogCWlmICghKHBjICYg
MykgJiYKIAkgICAgdXNlcmFjYygoY2FkZHJfdCkoaW50cHRyX3QpcGMsIHNpemVvZihpbnQpICog
NCwgVk1fUFJPVF9SRUFEKSkgewogCQkvKiBkdW1wIHBhZ2UgdGFibGUgZW50cnkgZm9yIGZhdWx0
aW5nIGluc3RydWN0aW9uICovCi0JCWxvZyhMT0dfRVJSLCAiUGFnZSB0YWJsZSBpbmZvIGZvciBw
YyBhZGRyZXNzICUjang6IHBkZSA9ICVwLCBwdGUgPSAlI3hcbiIsCi0JCSAgICAoaW50bWF4X3Qp
cGMsICh2b2lkICopKGludHB0cl90KSpwZGVwLCBwdGVwID8gKnB0ZXAgOiAwKTsKKwkJbG9nKExP
R19FUlIsICJQYWdlIHRhYmxlIGluZm8gZm9yIHBjIGFkZHJlc3MgJSNqeDogcGRlID0gJXAsIHB0
ZSA9ICUjanhcbiIsCisJCSAgICAoaW50bWF4X3QpcGMsICh2b2lkICopKGludHB0cl90KSpwZGVw
LCAodWludG1heF90KShwdGVwID8gKnB0ZXAgOiAwKSk7CiAKIAkJYWRkciA9ICh1bnNpZ25lZCBp
bnQgKikoaW50cHRyX3QpcGM7CiAJCWxvZyhMT0dfRVJSLCAiRHVtcGluZyA0IHdvcmRzIHN0YXJ0
aW5nIGF0IHBjIGFkZHJlc3MgJXA6IFxuIiwKQEAgLTEyODUsOCArMTI4NSw4IEBACiAJCWxvZyhM
T0dfRVJSLCAiJTA4eCAlMDh4ICUwOHggJTA4eFxuIiwKIAkJICAgIGFkZHJbMF0sIGFkZHJbMV0s
IGFkZHJbMl0sIGFkZHJbM10pOwogCX0gZWxzZSB7Ci0JCWxvZyhMT0dfRVJSLCAicGMgYWRkcmVz
cyAlI2p4IGlzIGluYWNjZXNzaWJsZSwgcGRlID0gJXAsIHB0ZSA9ICUjeFxuIiwKLQkJICAgIChp
bnRtYXhfdClwYywgKHZvaWQgKikoaW50cHRyX3QpKnBkZXAsIHB0ZXAgPyAqcHRlcCA6IDApOwor
CQlsb2coTE9HX0VSUiwgInBjIGFkZHJlc3MgJSNqeCBpcyBpbmFjY2Vzc2libGUsIHBkZSA9ICVw
LCBwdGUgPSAlI2p4XG4iLAorCQkgICAgKGludG1heF90KXBjLCAodm9pZCAqKShpbnRwdHJfdCkq
cGRlcCwgKHVpbnRtYXhfdCkocHRlcCA/ICpwdGVwIDogMCkpOwogCX0KIH0KIApAQCAtMTM0MCw4
ICsxMzQwLDggQEAKIAkgICAgKHRyYXBfdHlwZSAhPSBUX0JVU19FUlJfSUZFVENIKSAmJgogCSAg
ICB1c2VyYWNjKChjYWRkcl90KShpbnRwdHJfdClwYywgc2l6ZW9mKGludCkgKiA0LCBWTV9QUk9U
X1JFQUQpKSB7CiAJCS8qIGR1bXAgcGFnZSB0YWJsZSBlbnRyeSBmb3IgZmF1bHRpbmcgaW5zdHJ1
Y3Rpb24gKi8KLQkJbG9nKExPR19FUlIsICJQYWdlIHRhYmxlIGluZm8gZm9yIHBjIGFkZHJlc3Mg
JSNqeDogcGRlID0gJXAsIHB0ZSA9ICUjeFxuIiwKLQkJICAgIChpbnRtYXhfdClwYywgKHZvaWQg
KikoaW50cHRyX3QpKnBkZXAsIHB0ZXAgPyAqcHRlcCA6IDApOworCQlsb2coTE9HX0VSUiwgIlBh
Z2UgdGFibGUgaW5mbyBmb3IgcGMgYWRkcmVzcyAlI2p4OiBwZGUgPSAlcCwgcHRlID0gJSNqeFxu
IiwKKwkJICAgIChpbnRtYXhfdClwYywgKHZvaWQgKikoaW50cHRyX3QpKnBkZXAsICh1aW50bWF4
X3QpKHB0ZXAgPyAqcHRlcCA6IDApKTsKIAogCQlhZGRyID0gKHVuc2lnbmVkIGludCAqKShpbnRw
dHJfdClwYzsKIAkJbG9nKExPR19FUlIsICJEdW1waW5nIDQgd29yZHMgc3RhcnRpbmcgYXQgcGMg
YWRkcmVzcyAlcDogXG4iLApAQCAtMTM0OSwxMyArMTM0OSwxMyBAQAogCQlsb2coTE9HX0VSUiwg
IiUwOHggJTA4eCAlMDh4ICUwOHhcbiIsCiAJCSAgICBhZGRyWzBdLCBhZGRyWzFdLCBhZGRyWzJd
LCBhZGRyWzNdKTsKIAl9IGVsc2UgewotCQlsb2coTE9HX0VSUiwgInBjIGFkZHJlc3MgJSNqeCBp
cyBpbmFjY2Vzc2libGUsIHBkZSA9ICVwLCBwdGUgPSAlI3hcbiIsCi0JCSAgICAoaW50bWF4X3Qp
cGMsICh2b2lkICopKGludHB0cl90KSpwZGVwLCBwdGVwID8gKnB0ZXAgOiAwKTsKKwkJbG9nKExP
R19FUlIsICJwYyBhZGRyZXNzICUjanggaXMgaW5hY2Nlc3NpYmxlLCBwZGUgPSAlcCwgcHRlID0g
JSNqeFxuIiwKKwkJICAgIChpbnRtYXhfdClwYywgKHZvaWQgKikoaW50cHRyX3QpKnBkZXAsICh1
aW50bWF4X3QpKHB0ZXAgPyAqcHRlcCA6IDApKTsKIAl9CiAKIAlnZXRfbWFwcGluZ19pbmZvKCh2
bV9vZmZzZXRfdClmcmFtZS0+YmFkdmFkZHIsICZwZGVwLCAmcHRlcCk7Ci0JbG9nKExPR19FUlIs
ICJQYWdlIHRhYmxlIGluZm8gZm9yIGJhZCBhZGRyZXNzICUjang6IHBkZSA9ICVwLCBwdGUgPSAl
I3hcbiIsCi0JICAgIChpbnRtYXhfdClmcmFtZS0+YmFkdmFkZHIsICh2b2lkICopKGludHB0cl90
KSpwZGVwLCBwdGVwID8gKnB0ZXAgOiAwKTsKKwlsb2coTE9HX0VSUiwgIlBhZ2UgdGFibGUgaW5m
byBmb3IgYmFkIGFkZHJlc3MgJSNqeDogcGRlID0gJXAsIHB0ZSA9ICUjanhcbiIsCisJICAgIChp
bnRtYXhfdClmcmFtZS0+YmFkdmFkZHIsICh2b2lkICopKGludHB0cl90KSpwZGVwLCAodWludG1h
eF90KShwdGVwID8gKnB0ZXAgOiAwKSk7CiB9CiAKIApJbmRleDogc3lzL21pcHMvbWlwcy9zd3Rj
aC5TCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBzL21pcHMvc3d0Y2guUwkocmV2aXNpb24gMjE3MTY2
KQorKysgc3lzL21pcHMvbWlwcy9zd3RjaC5TCSh3b3JraW5nIGNvcHkpCkBAIC05MSw2ICs5MSwx
NiBAQAogI2RlZmluZQlSRVNUT1JFX1VfUENCX0NPTlRFWFQocmVnLCBvZmZzLCBiYXNlKSBcCiAJ
UkVHX0wJcmVnLCBVX1BDQl9DT05URVhUICsgKFNaUkVHICogb2ZmcykgKGJhc2UpCiAKKyNpZmRl
ZiBfX21pcHNfbjY0IC8qIFBIWVNBRERSXzY0X0JJVCAqLworI2RlZmluZQlQVEVfTAkJbGQKKyNk
ZWZpbmUJUFRFX01UQzAJZG10YzAKKyNkZWZpbmUJUFRFU0laRQkJOAorI2Vsc2UKKyNkZWZpbmUJ
UFRFX0wJCWx3CisjZGVmaW5lCVBURV9NVEMwCW10YzAKKyNkZWZpbmUJUFRFU0laRQkJNAorI2Vu
ZGlmCisKIC8qCiAgKiBTZXR1cCBmb3IgYW5kIHJldHVybiB0byB1c2VyLgogICovCkBAIC0yODQs
OCArMjk0LDggQEAKIAlQVFJfTEkJczAsIE1JUFNfS1NFRzJfU1RBUlQJCSMgSWYgVWFyZWEgYWRk
ciBpcyBiZWxvdyBrc2VnMiwKICNlbmRpZgogCWJsdHUJdjAsIHMwLCBzdzIJCQkjIG5vIG5lZWQg
dG8gaW5zZXJ0IGluIFRMQi4KLQlsdwlhMSwgVERfVVBURSArIDAoczcpCQkjIGExID0gdS4gcHRl
ICMwCi0JbHcJYTIsIFREX1VQVEUgKyA0KHM3KQkJIyBhMiA9IHUuIHB0ZSAjMQorCVBURV9MCWEx
LCBURF9VUFRFICsgMChzNykJCSMgYTEgPSB1LiBwdGUgIzAKKwlQVEVfTAlhMiwgVERfVVBURSAr
IFBURVNJWkUoczcpCSMgYTIgPSB1LiBwdGUgIzEKIC8qCiAgKiBXaXJlZG93biB0aGUgVVNQQUNF
IG9mIG5ld3Byb2MgaW4gVExCIGVudHJ5IzAuICBDaGVjayB3aGV0aGVyIHRhcmdldAogICogVVNQ
QUNFIGlzIGFscmVhZHkgaW4gYW5vdGhlciBwbGFjZSBvZiBUTEIgYmVmb3JlIHRoYXQsIGFuZCBp
ZiBzbwpAQCAtMzA2LDggKzMxNiw4IEBACiAJc2xsCXMwLCBQQUdFX1NISUZUICsgMQogCWFkZHUJ
dDEsIHMwCiAJTVRDMAl0MSwgTUlQU19DT1BfMF9UTEJfSEkKLQltdGMwCXplcm8sIE1JUFNfQ09Q
XzBfVExCX0xPMAotCW10YzAJemVybywgTUlQU19DT1BfMF9UTEJfTE8xCisJUFRFX01UQzAJemVy
bywgTUlQU19DT1BfMF9UTEJfTE8wCisJUFRFX01UQzAJemVybywgTUlQU19DT1BfMF9UTEJfTE8x
CiAJSEFaQVJEX0RFTEFZCiAJdGxid2kKIAlIQVpBUkRfREVMQVkKQEAgLTMxNyw5ICszMjcsOSBA
QAogLyogU01QISEgLSBXb3JrcyBvbmx5IGZvciAgdW5zaGFyZWQgVExCIGNhc2UgLSBpLmUuIG5v
IHYtY3B1cyAqLwogCW10YzAJemVybywgTUlQU19DT1BfMF9UTEJfSU5ERVgJCSMgVExCIGVudHJ5
ICMwCiAJSEFaQVJEX0RFTEFZCi0JbXRjMAlhMSwgTUlQU19DT1BfMF9UTEJfTE8wCQkjIHVwdGVb
MF0KKwlQVEVfTVRDMAlhMSwgTUlQU19DT1BfMF9UTEJfTE8wCQkjIHVwdGVbMF0KIAlIQVpBUkRf
REVMQVkKLQltdGMwCWEyLCBNSVBTX0NPUF8wX1RMQl9MTzEJCSMgdXB0ZVsxXQorCVBURV9NVEMw
CWEyLCBNSVBTX0NPUF8wX1RMQl9MTzEJCSMgdXB0ZVsxXQogCUhBWkFSRF9ERUxBWQogCXRsYndp
CQkJCQkjIHNldCBUTEIgZW50cnkgIzAKIAlIQVpBUkRfREVMQVkK
--0016e65b606421f841049976ba4c--



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