Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Jun 2010 22:18:50 +0530
From:      "Jayachandran C." <c.jayachandran@gmail.com>
To:        Randall Stewart <rrs@lakerest.net>, Juli Mallett <jmallett@freebsd.org>,  "M. Warner Losh" <imp@bsdimp.com>, freebsd-mips@freebsd.org
Subject:   Re: Merging 64 bit changes to -HEAD - part 3
Message-ID:  <AANLkTim5aGluEVgYQQxgBDn2aJIuUIIMszmk7D3lVEGi@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
--00c09f88cf8c433dfa04898d149b
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Tue, Jun 15, 2010 at 7:06 PM, Jayachandran C.
<c.jayachandran@gmail.com> wrote:
> I have volunteered to merge Juli's 64-bit work into HEAD, =A0and
> hopefully get it to work on XLR too. The tree
> (http://svn.freebsd.org/base/user/jmallett/octeon) has quite a bit of
> changes, so I would like to do this over multiple changesets and
> without breaking the current o32 code.

And here's the third batch for the merge, two patches here:

n64-n32-compile.patch:
Main changes are:
- Support for n64 and n32 kernel compilation
- casts between registers and ptr/int updated to work on 64bit
- 64-bit address space defines
- syscall, exception and trap support for n32/n64

I have made some minor changes from the Juli's version to reduce the
number of #ifdefs, but mostly the code is equivalent.

n32-kernel.patch:
- Support to build n32 kernel for XLR, sample conf file and ldscript

With these two patches the kernel comes up in n32 single user mode.
Please let me know your comments.

The next set should cover the full n64 support.

Thanks,
JC.

--00c09f88cf8c433dfa04898d149b
Content-Type: text/x-patch; charset=US-ASCII; name="n64-n32-compile.patch"
Content-Disposition: attachment; filename="n64-n32-compile.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gapjcqjh4

SW5kZXg6IHN5cy9taXBzL2luY2x1ZGUvc2V0am1wLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMv
aW5jbHVkZS9zZXRqbXAuaAkocmV2aXNpb24gMjA5MzY3KQorKysgc3lzL21pcHMvaW5jbHVkZS9z
ZXRqbXAuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksNyBAQAogCiAjaW5jbHVkZSA8c3lz
L2NkZWZzLmg+CiAKLSNkZWZpbmUJX0pCTEVOCTk1CQkvKiBzaXplLCBpbiBsb25ncywgb2YgYSBq
bXBfYnVmICovCisjZGVmaW5lCV9KQkxFTgk5NQkJLyogc2l6ZSwgaW4gbG9uZ3MgKG9yIGxvbmcg
bG9uZ3MpLCBvZiBhIGptcF9idWYgKi8KIAogLyoKICAqIGptcF9idWYgYW5kIHNpZ2ptcF9idWYg
YXJlIGVuY2Fwc3VsYXRlZCBpbiBkaWZmZXJlbnQgc3RydWN0cyB0byBmb3JjZQpAQCAtNDksMTAg
KzQ5LDE4IEBACiAjaWZuZGVmIF9MT0NPUkUKICNpZm5kZWYgX19BU1NFTUJMRVJfXwogI2lmIF9f
QlNEX1ZJU0lCTEUgfHwgX19QT1NJWF9WSVNJQkxFIHx8IF9fWFNJX1ZJU0lCTEUKKyNpZmRlZiBf
X21pcHNfbjMyCit0eXBlZGVmIHN0cnVjdCBfc2lnam1wX2J1ZiB7IGxvbmcgbG9uZyBfc2piW19K
QkxFTiArIDFdOyB9IHNpZ2ptcF9idWZbMV07CisjZWxzZQogdHlwZWRlZiBzdHJ1Y3QgX3NpZ2pt
cF9idWYgeyBsb25nIF9zamJbX0pCTEVOICsgMV07IH0gc2lnam1wX2J1ZlsxXTsKICNlbmRpZgor
I2VuZGlmCiAKKyNpZmRlZiBfX21pcHNfbjMyCit0eXBlZGVmIHN0cnVjdCBfam1wX2J1ZiB7IGxv
bmcgbG9uZyBfamJbX0pCTEVOICsgMV07IH0gam1wX2J1ZlsxXTsKKyNlbHNlCiB0eXBlZGVmIHN0
cnVjdCBfam1wX2J1ZiB7IGxvbmcgX2piW19KQkxFTiArIDFdOyB9IGptcF9idWZbMV07CisjZW5k
aWYKICNlbmRpZiAvKiBfX0FTU0VNQkxFUl9fICovCiAjZW5kaWYgLyogX0xPQ09SRSAqLwogCklu
ZGV4OiBzeXMvbWlwcy9pbmNsdWRlL2NwdS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBzL2luY2x1
ZGUvY3B1LmgJKHJldmlzaW9uIDIwOTM2NykKKysrIHN5cy9taXBzL2luY2x1ZGUvY3B1LmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ5LDcgKzQ5LDcgQEAKIAogI2luY2x1ZGUgPG1hY2hpbmUvZW5kaWFu
Lmg+CiAKLSNkZWZpbmUgTUlQU19LU0VHMF9MQVJHRVNUX1BIWVMgICAgICAgICAweDIwMDAwMDAw
CisjZGVmaW5lCU1JUFNfS1NFRzBfTEFSR0VTVF9QSFlTICAgICAgICAgKDB4MjAwMDAwMDApCiAj
ZGVmaW5lCU1JUFNfUEhZU19NQVNLCQkJKDB4MWZmZmZmZmYpCiAKICNkZWZpbmUJTUlQU19QSFlT
X1RPX0tTRUcwKHgpCQkoKHVpbnRwdHJfdCkoeCkgfCBNSVBTX0tTRUcwX1NUQVJUKQpAQCAtMTYy
LDExICsxNjIsMTEgQEAKIC8qCiAgKiBMb2NhdGlvbiBvZiBleGNlcHRpb24gdmVjdG9ycy4KICAq
LwotI2RlZmluZQlSRVNFVF9FWENfVkVDCQkweGJmYzAwMDAwCi0jZGVmaW5lCVRMQl9NSVNTX0VY
Q19WRUMJMHg4MDAwMDAwMAotI2RlZmluZQlYVExCX01JU1NfRVhDX1ZFQwkweDgwMDAwMDgwCi0j
ZGVmaW5lCUNBQ0hFX0VSUl9FWENfVkVDCTB4ODAwMDAxMDAKLSNkZWZpbmUJR0VOX0VYQ19WRUMJ
CTB4ODAwMDAxODAKKyNkZWZpbmUJUkVTRVRfRVhDX1ZFQwkJKChpbnRwdHJfdCkoaW50MzJfdCkw
eGJmYzAwMDAwKQorI2RlZmluZQlUTEJfTUlTU19FWENfVkVDCSgoaW50cHRyX3QpKGludDMyX3Qp
MHg4MDAwMDAwMCkKKyNkZWZpbmUJWFRMQl9NSVNTX0VYQ19WRUMJKChpbnRwdHJfdCkoaW50MzJf
dCkweDgwMDAwMDgwKQorI2RlZmluZQlDQUNIRV9FUlJfRVhDX1ZFQwkoKGludHB0cl90KShpbnQz
Ml90KTB4ODAwMDAxMDApCisjZGVmaW5lCUdFTl9FWENfVkVDCQkoKGludHB0cl90KShpbnQzMl90
KTB4ODAwMDAxODApCiAKIC8qCiAgKiBDb3Byb2Nlc3NvciAwIHJlZ2lzdGVyczoKSW5kZXg6IHN5
cy9taXBzL2luY2x1ZGUvdm1wYXJhbS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBzL2luY2x1ZGUv
dm1wYXJhbS5oCShyZXZpc2lvbiAyMDkzNjcpCisrKyBzeXMvbWlwcy9pbmNsdWRlL3ZtcGFyYW0u
aAkod29ya2luZyBjb3B5KQpAQCAtMTAwLDExICsxMDAsMTcgQEAKICNkZWZpbmUJVk1fTUFYX0FE
RFJFU1MJCSgodm1fb2Zmc2V0X3QpKGludHB0cl90KShpbnQzMl90KTB4ZmZmZmZmZmYpCiAKICNk
ZWZpbmUJVk1fTUlOVVNFUl9BRERSRVNTCSgodm1fb2Zmc2V0X3QpMHgwMDAwMDAwMCkKLSNkZWZp
bmUJVk1fTUFYVVNFUl9BRERSRVNTCSgodm1fb2Zmc2V0X3QpMHg4MDAwMDAwMCkKICNkZWZpbmUJ
Vk1fTUFYX01NQVBfQUREUglWTV9NQVhVU0VSX0FERFJFU1MKIAotI2RlZmluZQlWTV9NSU5fS0VS
TkVMX0FERFJFU1MJCSgodm1fb2Zmc2V0X3QpMHhDMDAwMDAwMCkKLSNkZWZpbmUJVk1fTUFYX0tF
Uk5FTF9BRERSRVNTCQkoKHZtX29mZnNldF90KTB4RkZGRkMwMDApCisjaWYgZGVmaW5lZChfX21p
cHNfbjY0KQorI2RlZmluZQlWTV9NQVhVU0VSX0FERFJFU1MJKFZNX01JTlVTRVJfQUREUkVTUyAr
IChOUERFUEcgKiBOUFRFUEcgKiBQQUdFX1NJWkUpKQorI2RlZmluZQlWTV9NSU5fS0VSTkVMX0FE
RFJFU1MJKCh2bV9vZmZzZXRfdCkweGMwMDAwMDAwMDAwMDAwMDApCisjZGVmaW5lCVZNX01BWF9L
RVJORUxfQUREUkVTUwkoVk1fTUlOX0tFUk5FTF9BRERSRVNTICsgKE5QREVQRyAqIE5QVEVQRyAq
IFBBR0VfU0laRSkpCisjZWxzZQorI2RlZmluZQlWTV9NQVhVU0VSX0FERFJFU1MJKCh2bV9vZmZz
ZXRfdCkweDgwMDAwMDAwKQorI2RlZmluZQlWTV9NSU5fS0VSTkVMX0FERFJFU1MJKCh2bV9vZmZz
ZXRfdCkweEMwMDAwMDAwKQorI2RlZmluZQlWTV9NQVhfS0VSTkVMX0FERFJFU1MJKCh2bV9vZmZz
ZXRfdCkweEZGRkZDMDAwKQorI2VuZGlmCiAjaWYgMAogI2RlZmluZQlLRVJOQkFTRQkJKFZNX01J
Tl9LRVJORUxfQUREUkVTUykKICNlbHNlCkluZGV4OiBzeXMvbWlwcy9taXBzL3ZtX21hY2hkZXAu
Ywo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBzeXMvbWlwcy9taXBzL3ZtX21hY2hkZXAuYwkocmV2aXNpb24gMjA5
MzY3KQorKysgc3lzL21pcHMvbWlwcy92bV9tYWNoZGVwLmMJKHdvcmtpbmcgY29weSkKQEAgLTE0
MSwxMyArMTQxLDEzIEBACiAJaWYgKHRkMSA9PSBQQ1BVX0dFVChmcGN1cnRocmVhZCkpCiAJCU1p
cHNTYXZlQ3VyRlBTdGF0ZSh0ZDEpOwogCi0JcGNiMi0+cGNiX2NvbnRleHRbUENCX1JFR19SQV0g
PSAocmVnaXN0ZXJfdClmb3JrX3RyYW1wb2xpbmU7CisJcGNiMi0+cGNiX2NvbnRleHRbUENCX1JF
R19SQV0gPSAocmVnaXN0ZXJfdCkoaW50cHRyX3QpZm9ya190cmFtcG9saW5lOwogCS8qIE1ha2Ug
c3AgNjQtYml0IGFsaWduZWQgKi8KIAlwY2IyLT5wY2JfY29udGV4dFtQQ0JfUkVHX1NQXSA9IChy
ZWdpc3Rlcl90KSgoKHZtX29mZnNldF90KXRkMi0+dGRfcGNiICYKIAkgICAgfihzaXplb2YoX19p
bnQ2NF90KSAtIDEpKSAtIENBTExGUkFNRV9TSVopOwotCXBjYjItPnBjYl9jb250ZXh0W1BDQl9S
RUdfUzBdID0gKHJlZ2lzdGVyX3QpZm9ya19yZXR1cm47Ci0JcGNiMi0+cGNiX2NvbnRleHRbUENC
X1JFR19TMV0gPSAocmVnaXN0ZXJfdCl0ZDI7Ci0JcGNiMi0+cGNiX2NvbnRleHRbUENCX1JFR19T
Ml0gPSAocmVnaXN0ZXJfdCl0ZDItPnRkX2ZyYW1lOworCXBjYjItPnBjYl9jb250ZXh0W1BDQl9S
RUdfUzBdID0gKHJlZ2lzdGVyX3QpKGludHB0cl90KWZvcmtfcmV0dXJuOworCXBjYjItPnBjYl9j
b250ZXh0W1BDQl9SRUdfUzFdID0gKHJlZ2lzdGVyX3QpKGludHB0cl90KXRkMjsKKwlwY2IyLT5w
Y2JfY29udGV4dFtQQ0JfUkVHX1MyXSA9IChyZWdpc3Rlcl90KShpbnRwdHJfdCl0ZDItPnRkX2Zy
YW1lOwogCXBjYjItPnBjYl9jb250ZXh0W1BDQl9SRUdfU1JdID0gU1JfSU5UX01BU0sgJiBtaXBz
X3JkX3N0YXR1cygpOwogCS8qCiAJICogRlJFRUJTRF9ERVZFTE9QRVJTX0ZJWE1FOgpAQCAtMTc4
LDggKzE3OCw4IEBACiAJICogTm90ZSB0aGF0IHRoZSB0cmFwIGZyYW1lIGZvbGxvd3MgdGhlIGFy
Z3MsIHNvIHRoZSBmdW5jdGlvbgogCSAqIGlzIHJlYWxseSBjYWxsZWQgbGlrZSB0aGlzOglmdW5j
KGFyZywgZnJhbWUpOwogCSAqLwotCXRkLT50ZF9wY2ItPnBjYl9jb250ZXh0W1BDQl9SRUdfUzBd
ID0gKHJlZ2lzdGVyX3QpIGZ1bmM7Ci0JdGQtPnRkX3BjYi0+cGNiX2NvbnRleHRbUENCX1JFR19T
MV0gPSAocmVnaXN0ZXJfdCkgYXJnOworCXRkLT50ZF9wY2ItPnBjYl9jb250ZXh0W1BDQl9SRUdf
UzBdID0gKHJlZ2lzdGVyX3QpKGludHB0cl90KWZ1bmM7CisJdGQtPnRkX3BjYi0+cGNiX2NvbnRl
eHRbUENCX1JFR19TMV0gPSAocmVnaXN0ZXJfdCkoaW50cHRyX3QpYXJnOwogfQogCiB2b2lkCkBA
IC0yNTQsMTEgKzI1NCwxOCBAQAogCiAJY29kZSA9IGxvY3IwLT52MDsKIAlxdWFkX3N5c2NhbGwg
PSAwOworI2lmIGRlZmluZWQoX19taXBzX28zMikKKwlpZiAoY29kZSA9PSBTWVNfX19zeXNjYWxs
KQorCQlxdWFkX3N5c2NhbGwgPSAxOworI2VuZGlmCisKIAlpZiAoY29kZSA9PSBTWVNfc3lzY2Fs
bCkKIAkJY29kZSA9IGxvY3IwLT5hMDsKIAllbHNlIGlmIChjb2RlID09IFNZU19fX3N5c2NhbGwp
IHsKLQkJY29kZSA9IF9RVUFEX0xPV1dPUkQgPyBsb2NyMC0+YTEgOiBsb2NyMC0+YTA7Ci0JCXF1
YWRfc3lzY2FsbCA9IDE7CisJCWlmIChxdWFkX3N5c2NhbGwpCisJCQljb2RlID0gX1FVQURfTE9X
V09SRCA/IGxvY3IwLT5hMSA6IGxvY3IwLT5hMDsKKwkJZWxzZQorCQkJY29kZSA9IGxvY3IwLT5h
MDsKIAl9CiAKIAlzd2l0Y2ggKGVycm9yKSB7CkBAIC0zMzYsMTMgKzM0MywxMyBAQAogCSAqIFNl
dCByZWdpc3RlcnMgZm9yIHRyYW1wb2xpbmUgdG8gdXNlciBtb2RlLgogCSAqLwogCi0JcGNiMi0+
cGNiX2NvbnRleHRbUENCX1JFR19SQV0gPSAocmVnaXN0ZXJfdClmb3JrX3RyYW1wb2xpbmU7CisJ
cGNiMi0+cGNiX2NvbnRleHRbUENCX1JFR19SQV0gPSAocmVnaXN0ZXJfdCkoaW50cHRyX3QpZm9y
a190cmFtcG9saW5lOwogCS8qIE1ha2Ugc3AgNjQtYml0IGFsaWduZWQgKi8KIAlwY2IyLT5wY2Jf
Y29udGV4dFtQQ0JfUkVHX1NQXSA9IChyZWdpc3Rlcl90KSgoKHZtX29mZnNldF90KXRkLT50ZF9w
Y2IgJgogCSAgICB+KHNpemVvZihfX2ludDY0X3QpIC0gMSkpIC0gQ0FMTEZSQU1FX1NJWik7Ci0J
cGNiMi0+cGNiX2NvbnRleHRbUENCX1JFR19TMF0gPSAocmVnaXN0ZXJfdClmb3JrX3JldHVybjsK
LQlwY2IyLT5wY2JfY29udGV4dFtQQ0JfUkVHX1MxXSA9IChyZWdpc3Rlcl90KXRkOwotCXBjYjIt
PnBjYl9jb250ZXh0W1BDQl9SRUdfUzJdID0gKHJlZ2lzdGVyX3QpdGQtPnRkX2ZyYW1lOworCXBj
YjItPnBjYl9jb250ZXh0W1BDQl9SRUdfUzBdID0gKHJlZ2lzdGVyX3QpKGludHB0cl90KWZvcmtf
cmV0dXJuOworCXBjYjItPnBjYl9jb250ZXh0W1BDQl9SRUdfUzFdID0gKHJlZ2lzdGVyX3QpKGlu
dHB0cl90KXRkOworCXBjYjItPnBjYl9jb250ZXh0W1BDQl9SRUdfUzJdID0gKHJlZ2lzdGVyX3Qp
KGludHB0cl90KXRkLT50ZF9mcmFtZTsKIAkvKiBEb250IHNldCBJRSBiaXQgaW4gU1IuIHNjaGVk
IGxvY2sgcmVsZWFzZSB3aWxsIHRha2UgY2FyZSBvZiBpdCAqLwogCXBjYjItPnBjYl9jb250ZXh0
W1BDQl9SRUdfU1JdID0gU1JfSU5UX01BU0sgJiBtaXBzX3JkX3N0YXR1cygpOwogCkBAIC0zODUs
NyArMzkyLDcgQEAKIAkqIGJ5dGUgYWxpZ25lZFtmb3IgY29tcGF0aWJpbGl0eSB3aXRoIDY0LWJp
dCBDUFVzXQogCSogaW4gYGBTZWUgTUlQUyBSdW4nJyBieSBELiBTd2VldG1hbiwgcC4gMjY5CiAJ
KiBhbGlnbiBzdGFjayAqLwotCXNwID0gKChyZWdpc3Rlcl90KShzdGFjay0+c3Nfc3AgKyBzdGFj
ay0+c3Nfc2l6ZSkgJiB+MHg3KSAtCisJc3AgPSAoKHJlZ2lzdGVyX3QpKGludHB0cl90KShzdGFj
ay0+c3Nfc3AgKyBzdGFjay0+c3Nfc2l6ZSkgJiB+MHg3KSAtCiAJICAgIENBTExGUkFNRV9TSVo7
CiAKIAkvKgpAQCAtMzk0LDE0ICs0MDEsMTQgQEAKIAkgKi8KIAl0ZiA9IHRkLT50ZF9mcmFtZTsK
IAliemVybyh0Ziwgc2l6ZW9mKHN0cnVjdCB0cmFwZnJhbWUpKTsKLQl0Zi0+c3AgPSAocmVnaXN0
ZXJfdClzcDsKLQl0Zi0+cGMgPSAocmVnaXN0ZXJfdCllbnRyeTsKKwl0Zi0+c3AgPSBzcDsKKwl0
Zi0+cGMgPSAocmVnaXN0ZXJfdCkoaW50cHRyX3QpZW50cnk7CiAJLyogCiAJICogTUlQUyBBQkkg
cmVxdWlyZXMgVDkgdG8gYmUgdGhlIHNhbWUgYXMgUEMgCiAJICogaW4gc3Vicm91dGluZSBlbnRy
eSBwb2ludAogCSAqLwotCXRmLT50OSA9IChyZWdpc3Rlcl90KWVudHJ5OyAKLQl0Zi0+YTAgPSAo
cmVnaXN0ZXJfdClhcmc7CisJdGYtPnQ5ID0gKHJlZ2lzdGVyX3QpKGludHB0cl90KWVudHJ5OyAK
Kwl0Zi0+YTAgPSAocmVnaXN0ZXJfdCkoaW50cHRyX3QpYXJnOwogCiAJLyoKIAkgKiBLZWVwIGlu
dGVycnVwdCBtYXNrCkBAIC00MDksNyArNDE2LDcgQEAKIAl0Zi0+c3IgPSBTUl9LU1VfVVNFUiB8
IFNSX0VYTCB8IChTUl9JTlRfTUFTSyAmIG1pcHNfcmRfc3RhdHVzKCkpIHwKIAkgICAgTUlQU19T
Ul9JTlRfSUU7CiAjaWZkZWYgVEFSR0VUX09DVEVPTgotCXRmLT5zciB8PSAgTUlQU19TUl9JTlRf
SUUgfCBNSVBTX1NSX0NPUF8wX0JJVCB8IE1JUFNfU1JfVVggfAorCXRmLT5zciB8PSAgTUlQU19T
Ul9JTlRfSUUgfCBNSVBTX1NSX0NPUF8wX0JJVCB8IE1JUFMzMl9TUl9QWCB8IE1JUFNfU1JfVVgg
fAogCSAgTUlQU19TUl9LWDsKICNlbmRpZgogLyoJdGYtPnNyIHw9IChBTExfSU5UX01BU0sgJiBp
ZGxlX21hc2spIHwgU1JfSU5UX0VOQUI7ICovCkBAIC00MzEsNyArNDM4LDcgQEAKIAl2YSA9IHBt
YXBfa2V4dHJhY3QoKHZtX29mZnNldF90KWFkZHIpOwogCWlmICh2YSA9PSAwKQogCQlwYW5pYygi
a3Z0b3A6IHplcm8gcGFnZSBmcmFtZSIpOwotCXJldHVybigoaW50KXZhKTsKKwlyZXR1cm4oKGlu
dHB0cl90KXZhKTsKIH0KIAogLyoKQEAgLTU0NywxMCArNTU0LDEwIEBACiAjaW5jbHVkZSA8ZGRi
L2RkYi5oPgogCiAjZGVmaW5lIERCX1BSSU5UX1JFRyhwdHIsIHJlZ25hbWUpCQkJXAotCWRiX3By
aW50ZigiICAlLTEycyAweCVseFxuIiwgI3JlZ25hbWUsIChsb25nKSgocHRyKS0+cmVnbmFtZSkp
CisJZGJfcHJpbnRmKCIgICUtMTJzICVwXG4iLCAjcmVnbmFtZSwgKHZvaWQgKikoaW50cHRyX3Qp
KChwdHIpLT5yZWduYW1lKSkKIAogI2RlZmluZSBEQl9QUklOVF9SRUdfQVJSQVkocHRyLCBhcnJu
YW1lLCByZWduYW1lKQlcCi0JZGJfcHJpbnRmKCIgICUtMTJzIDB4JWx4XG4iLCAjcmVnbmFtZSwg
KGxvbmcpKChwdHIpLT5hcnJuYW1lW3JlZ25hbWVdKSkKKwlkYl9wcmludGYoIiAgJS0xMnMgJXBc
biIsICNyZWduYW1lLCAodm9pZCAqKShpbnRwdHJfdCkoKHB0ciktPmFycm5hbWVbcmVnbmFtZV0p
KQogCiBzdGF0aWMgdm9pZAogZHVtcF90cmFwZnJhbWUoc3RydWN0IHRyYXBmcmFtZSAqdHJhcGZy
YW1lKQpJbmRleDogc3lzL21pcHMvbWlwcy9leGNlcHRpb24uUwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMv
bWlwcy9taXBzL2V4Y2VwdGlvbi5TCShyZXZpc2lvbiAyMDkzNjcpCisrKyBzeXMvbWlwcy9taXBz
L2V4Y2VwdGlvbi5TCSh3b3JraW5nIGNvcHkpCkBAIC04OSw2ICs4OSwxNSBAQAogI2RlZmluZQlJ
VExCTk9QRklYCW5vcDtub3A7bm9wO25vcDtub3A7bm9wO25vcDtub3A7bm9wO25vcDsKICNkZWZp
bmUJSEFaQVJEX0RFTEFZCW5vcDtub3A7bm9wO25vcDtub3A7CiAKKy8qIFBvaW50ZXIgc2l6ZSBh
bmQgbWFzayBmb3IgbjY0ICovCisjaWYgZGVmaW5lZChfX21pcHNfbjY0KQorI2RlZmluZQlQVFJT
SElGVAkzCisjZGVmaW5lCVBUUk1BU0sJCTB4ZmY4CisjZWxzZQorI2RlZmluZQlQVFJTSElGVAky
CisjZGVmaW5lCVBUUk1BU0sJCTB4ZmZjCisjZW5kaWYKKwogLyoKICAqLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQogICoKQEAgLTEyNiwxMiArMTM1LDEyIEBACiAJLnNldCBub2F0CiBNaXBzRG9UTEJNaXNz
OgogCWJsdHoJCWswLCAxZgkJCQkjMDI6IGswPDAgLT4gMWYgKGtlcm5lbCBmYXVsdCkKLQlQVFJf
U1JMCQlrMCwgazAsIFNFR1NISUZUIC0gMgkJIzAzOiBrMD1zZWcgb2Zmc2V0IChhbG1vc3QpCisJ
UFRSX1NSTAkJazAsIGswLCBTRUdTSElGVCAtIFBUUlNISUZUCSMwMzogazA9c2VnIG9mZnNldCAo
YWxtb3N0KQogCiAJR0VUX0NQVV9QQ1BVKGsxKQogCVBUUl9MCQlrMSwgUENfU0VHQkFTRShrMSkK
IAliZXF6CQlrMSwgMmYJCQkJIzA1OiBtYWtlIHN1cmUgc2VnYmFzZSBpcyBub3QgbnVsbAotCWFu
ZGkJCWswLCBrMCwgMHhmZmMJCQkjMDY6IGswPXNlZyBvZmZzZXQgKG1hc2sgMHgzKQorCWFuZGkJ
CWswLCBrMCwgUFRSTUFTSwkJCSMwNjogazA9c2VnIG9mZnNldAogCVBUUl9BRERVCWsxLCBrMCwg
azEJCQkjMDc6IGsxPXNlZyBlbnRyeSBhZGRyZXNzCiAKIAlQVFJfTAkJazEsIDAoazEpCQkJIzA4
OiBrMT1zZWcgZW50cnkKQEAgLTE3NSw2ICsxODQsOSBAQAogCXNsbAlrMCwgazAsIDMJCQkjIHNo
aWZ0IHVzZXIgYml0IGZvciBjYXVzZSBpbmRleAogCWFuZAlrMSwgazEsIENSX0VYQ19DT0RFCQkj
IE1hc2sgb3V0IHRoZSBjYXVzZSBiaXRzLgogCW9yCWsxLCBrMSwgazAJCQkjIGNoYW5nZSBpbmRl
eCB0byB1c2VyIHRhYmxlCisjaWYgZGVmaW5lZChfX21pcHNfbjY0KQorCVBUUl9TTEwJazEsIGsx
LCAxCQkJIyBzaGlmdCB0byBnZXQgOC1ieXRlIG9mZnNldAorI2VuZGlmCiAxOgogCVBUUl9MQQlr
MCwgX0NfTEFCRUwobWFjaEV4Y2VwdGlvblRhYmxlKSAgIyBnZXQgYmFzZSBvZiB0aGUganVtcCB0
YWJsZQogCVBUUl9BRERVIGswLCBrMCwgazEJCQkjIEdldCB0aGUgYWRkcmVzcyBvZiB0aGUKQEAg
LTc5OCw5ICs4MTAsOSBAQAogCWJlcXoJCWsxLCAzZgogCW5vcAogCi0JUFRSX1NSTAkJazAsIFNF
R1NISUZUIC0gMgkJIyBrMD1zZWcgb2Zmc2V0IChhbG1vc3QpCisJUFRSX1NSTAkJazAsIFNFR1NI
SUZUIC0gUFRSU0hJRlQJCSMgazA9c2VnIG9mZnNldCAoYWxtb3N0KQogCWJlcQkJazEsIHplcm8s
IE1pcHNLZXJuR2VuRXhjZXB0aW9uCSMgPT0wIC0tIG5vIHNlZyB0YWIKLQlhbmRpCQlrMCwgazAs
IDB4ZmZjCQkJIyBrMD1zZWcgb2Zmc2V0IChtYXNrIDB4MykKKwlhbmRpCQlrMCwgazAsIFBUUk1B
U0sJCQkjIGswPXNlZyBvZmZzZXQKIAlQVFJfQUREVQlrMSwgazAsIGsxCQkJIyBrMT1zZWcgZW50
cnkgYWRkcmVzcwogCVBUUl9MCQlrMSwgMChrMSkJCQkjIGsxPXNlZyBlbnRyeQogCkBAIC05NjAs
MTAgKzk3MiwxMCBAQAogCXNsdHUJCWsxLCBrMSwgazAJCQkjIHVwcGVyIGJvdW5kIG9mIGtlcm5l
bF9zZWdtYXAKIAlibmV6CQlrMSwgTWlwc0tlcm5HZW5FeGNlcHRpb24JIyBvdXQgb2YgYm91bmQK
IAlsdWkJCWsxLCAlaGkoa2VybmVsX3NlZ21hcCkJCSMgazE9aGkgb2Ygc2VnYmFzZQotCVBUUl9T
UkwJCWswLCBTRUdTSElGVCAtIDIJCSMgazA9c2VnIG9mZnNldCAoYWxtb3N0KQorCVBUUl9TUkwJ
CWswLCBTRUdTSElGVCAtIFBUUlNISUZUCQkjIGswPXNlZyBvZmZzZXQgKGFsbW9zdCkKIAlQVFJf
TAkJazEsICVsbyhrZXJuZWxfc2VnbWFwKShrMSkJIyBrMT1zZWdtZW50IHRhYiBiYXNlCiAJYmVx
CQlrMSwgemVybywgTWlwc0tlcm5HZW5FeGNlcHRpb24JIyA9PTAgLS0gbm8gc2VnIHRhYgotCWFu
ZGkJCWswLCBrMCwgMHhmZmMJCQkjIGswPXNlZyBvZmZzZXQgKG1hc2sgMHgzKQorCWFuZGkJCWsw
LCBrMCwgUFRSTUFTSwkJCSMgazA9c2VnIG9mZnNldAogCVBUUl9BRERVCWsxLCBrMCwgazEJCQkj
IGsxPXNlZyBlbnRyeSBhZGRyZXNzCiAJUFRSX0wJCWsxLCAwKGsxKQkJCSMgazE9c2VnIGVudHJ5
CiAJTUZDMAkJazAsIENPUF8wX0JBRF9WQUREUgkJIyBrMD1iYWQgYWRkcmVzcyAoYWdhaW4pCklu
ZGV4OiBzeXMvbWlwcy9taXBzL3N0YWNrX21hY2hkZXAuYwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvbWlw
cy9taXBzL3N0YWNrX21hY2hkZXAuYwkocmV2aXNpb24gMjA5MzY3KQorKysgc3lzL21pcHMvbWlw
cy9zdGFja19tYWNoZGVwLmMJKHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQzLDcgQEAKIHN0YWNr
X3JlZ2lzdGVyX2ZldGNoKHVfcmVnaXN0ZXJfdCBzcCwgdV9yZWdpc3Rlcl90IHN0YWNrX3BvcykK
IHsKIAl1X3JlZ2lzdGVyX3QgKiBzdGFjayA9IAotCSAgICAoKHVfcmVnaXN0ZXJfdCAqKXNwICsg
c3RhY2tfcG9zL3NpemVvZih1X3JlZ2lzdGVyX3QpKTsKKwkgICAgKCh1X3JlZ2lzdGVyX3QgKiko
aW50cHRyX3Qpc3AgKyAoc2l6ZV90KXN0YWNrX3Bvcy9zaXplb2YodV9yZWdpc3Rlcl90KSk7CiAK
IAlyZXR1cm4gKnN0YWNrOwogfQpAQCAtNTksMTkgKzU5LDIyIEBACiAKIAlmb3IgKDs7KSB7CiAJ
CXN0YWNrc2l6ZSA9IDA7Ci0JCWlmIChwYyA8PSAodV9yZWdpc3Rlcl90KWJ0ZXh0KQorCQlpZiAo
cGMgPD0gKHVfcmVnaXN0ZXJfdCkoaW50cHRyX3QpYnRleHQpCiAJCQlicmVhazsKLQkJZm9yIChp
ID0gcGM7IGkgPj0gKHVfcmVnaXN0ZXJfdClidGV4dDsgaSAtPSBzaXplb2YgKGluc24pKSB7Ci0J
CQliY29weSgodm9pZCAqKWksICZpbnNuLCBzaXplb2YgaW5zbik7CisJCWZvciAoaSA9IHBjOyBp
ID49ICh1X3JlZ2lzdGVyX3QpKGludHB0cl90KWJ0ZXh0OyBpIC09IHNpemVvZiAoaW5zbikpIHsK
KwkJCWJjb3B5KCh2b2lkICopKGludHB0cl90KWksICZpbnNuLCBzaXplb2YgaW5zbik7CiAJCQlz
d2l0Y2ggKGluc24uSVR5cGUub3ApIHsKIAkJCWNhc2UgT1BfQURESToKIAkJCWNhc2UgT1BfQURE
SVU6CisJCQljYXNlIE9QX0RBRERJOgorCQkJY2FzZSBPUF9EQURESVU6CiAJCQkJaWYgKGluc24u
SVR5cGUucnMgIT0gU1AgfHwgaW5zbi5JVHlwZS5ydCAhPSBTUCkKIAkJCQkJYnJlYWs7CiAJCQkJ
c3RhY2tzaXplID0gLShzaG9ydClpbnNuLklUeXBlLmltbTsKIAkJCQlicmVhazsKIAogCQkJY2Fz
ZSBPUF9TVzoKKwkJCWNhc2UgT1BfU0Q6CiAJCQkJaWYgKGluc24uSVR5cGUucnMgIT0gU1AgfHwg
aW5zbi5JVHlwZS5ydCAhPSBSQSkKIAkJCQkJYnJlYWs7CiAJCQkJcmFfc3RhY2tfcG9zID0gKHNo
b3J0KWluc24uSVR5cGUuaW1tOwpAQCAtODgsMTMgKzkxLDEzIEBACiAJCQlicmVhazsKIAogCQlm
b3IgKGkgPSBwYzsgIXJhOyBpICs9IHNpemVvZiAoaW5zbikpIHsKLQkJCWJjb3B5KCh2b2lkICop
aSwgJmluc24sIHNpemVvZiBpbnNuKTsKKwkJCWJjb3B5KCh2b2lkICopKGludHB0cl90KWksICZp
bnNuLCBzaXplb2YgaW5zbik7CiAKIAkJCXN3aXRjaCAoaW5zbi5JVHlwZS5vcCkgewogCQkJY2Fz
ZSBPUF9TUEVDSUFMOgogCQkJCWlmKChpbnNuLlJUeXBlLmZ1bmMgPT0gT1BfSlIpKQogCQkJCXsK
LQkJCQkJaWYgKHJhID49ICh1X3JlZ2lzdGVyX3QpYnRleHQpCisJCQkJCWlmIChyYSA+PSAodV9y
ZWdpc3Rlcl90KShpbnRwdHJfdClidGV4dCkKIAkJCQkJCWJyZWFrOwogCQkJCQlpZiAoaW5zbi5S
VHlwZS5ycyAhPSBSQSkKIAkJCQkJCWJyZWFrOwpJbmRleDogc3lzL21pcHMvbWlwcy90cmFwLmMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gc3lzL21pcHMvbWlwcy90cmFwLmMJKHJldmlzaW9uIDIwOTM2NykKKysr
IHN5cy9taXBzL21pcHMvdHJhcC5jCSh3b3JraW5nIGNvcHkpCkBAIC02MjUsNiArNjI1LDE1IEBA
CiAJCQljb2RlID0gbG9jcjAtPnYwOwogCiAJCQlzd2l0Y2ggKGNvZGUpIHsKKyNpZiBkZWZpbmVk
KF9fbWlwc19uMzIpIHx8IGRlZmluZWQoX19taXBzX242NCkKKwkJCWNhc2UgU1lTX19fc3lzY2Fs
bDoKKwkJCQkvKgorCQkJCSAqIFF1YWRzIGZpdCBpbiBhIHNpbmdsZSByZWdpc3RlciBpbgorCQkJ
CSAqIG5ldyBBQklzLgorCQkJCSAqCisJCQkJICogWFhYIG82ND8KKwkJCQkgKi8KKyNlbmRpZgog
CQkJY2FzZSBTWVNfc3lzY2FsbDoKIAkJCQkvKgogCQkJCSAqIENvZGUgaXMgZmlyc3QgYXJndW1l
bnQsIGZvbGxvd2VkIGJ5CkBAIC02MzUsOCArNjQ0LDE2IEBACiAJCQkJYXJnc1sxXSA9IGxvY3Iw
LT5hMjsKIAkJCQlhcmdzWzJdID0gbG9jcjAtPmEzOwogCQkJCW5zYXZlZCA9IDM7CisjaWYgZGVm
aW5lZChfX21pcHNfbjMyKSB8fCBkZWZpbmVkKF9fbWlwc19uNjQpCisJCQkJYXJnc1szXSA9IGxv
Y3IwLT50NDsKKwkJCQlhcmdzWzRdID0gbG9jcjAtPnQ1OworCQkJCWFyZ3NbNV0gPSBsb2NyMC0+
dDY7CisJCQkJYXJnc1s2XSA9IGxvY3IwLT50NzsKKwkJCQluc2F2ZWQgKz0gNDsKKyNlbmRpZgog
CQkJCWJyZWFrOwogCisjaWYgZGVmaW5lZChfX21pcHNfbzMyKQogCQkJY2FzZSBTWVNfX19zeXNj
YWxsOgogCQkJCS8qCiAJCQkJICogTGlrZSBzeXNjYWxsLCBidXQgY29kZSBpcyBhIHF1YWQsIHNv
IGFzCkBAIC02NTIsNiArNjY5LDcgQEAKIAkJCQlhcmdzWzFdID0gbG9jcjAtPmEzOwogCQkJCW5z
YXZlZCA9IDI7CiAJCQkJYnJlYWs7CisjZW5kaWYKIAogCQkJZGVmYXVsdDoKIAkJCQlhcmdzWzBd
ID0gbG9jcjAtPmEwOwpAQCAtNjU5LDYgKzY3NywxMyBAQAogCQkJCWFyZ3NbMl0gPSBsb2NyMC0+
YTI7CiAJCQkJYXJnc1szXSA9IGxvY3IwLT5hMzsKIAkJCQluc2F2ZWQgPSA0OworI2lmIGRlZmlu
ZWQgKF9fbWlwc19uMzIpIHx8IGRlZmluZWQoX19taXBzX242NCkKKwkJCQlhcmdzWzRdID0gbG9j
cjAtPnQ0OworCQkJCWFyZ3NbNV0gPSBsb2NyMC0+dDU7CisJCQkJYXJnc1s2XSA9IGxvY3IwLT50
NjsKKwkJCQlhcmdzWzddID0gbG9jcjAtPnQ3OworCQkJCW5zYXZlZCArPSA0OworI2VuZGlmCiAJ
CQl9CiAjaWZkZWYgVFJBUF9ERUJVRwogCQkJcHJpbnRmKCJTWVNDQUxMICMlZCBwaWQ6JXVcbiIs
IGNvZGUsIHAtPnBfcGlkKTsKQEAgLTY3NSw2ICs3MDAsMTUgQEAKIAkJCW5hcmdzID0gY2FsbHAt
PnN5X25hcmc7CiAKIAkJCWlmIChuYXJncyA+IG5zYXZlZCkgeworI2lmIGRlZmluZWQoX19taXBz
X24zMikgfHwgZGVmaW5lZChfX21pcHNfbjY0KQorCQkJCS8qCisJCQkJICogWFhYCisJCQkJICog
SXMgdGhpcyByaWdodCBmb3IgbmV3IEFCSXM/ICBJIHRoaW5rIHRoZSA0IHRoZXJlCisJCQkJICog
c2hvdWxkIGJlIDgsIHNpemUgdGhlcmUgYXJlIDggcmVnaXN0ZXJzIHRvIHNraXAsCisJCQkJICog
bm90IDQsIGJ1dCBJJ20gbm90IGNlcnRhaW4uCisJCQkJICovCisJCQkJcHJpbnRmKCJTWVNDQUxM
ICMldSBwaWQ6JXUsIG5hcmdzID4gbnNhdmVkLlxuIiwgY29kZSwgcC0+cF9waWQpOworI2VuZGlm
CiAJCQkJaSA9IGNvcHlpbigoY2FkZHJfdCkoaW50cHRyX3QpKGxvY3IwLT5zcCArCiAJCQkJICAg
IDQgKiBzaXplb2YocmVnaXN0ZXJfdCkpLCAoY2FkZHJfdCkmYXJnc1tuc2F2ZWRdLAogCQkJCSAg
ICAodV9pbnQpKG5hcmdzIC0gbnNhdmVkKSAqIHNpemVvZihyZWdpc3Rlcl90KSk7CkBAIC02ODgs
NiArNzIyLDE4IEBACiAJCQkJCWdvdG8gZG9uZTsKIAkJCQl9CiAJCQl9CisjaWZkZWYgVFJBUF9E
RUJVRworCQkJZm9yIChpID0gMDsgaSA8IG5hcmdzOyBpKyspIHsKKwkJCQlwcmludGYoImFyZ3Nb
JWRdID0gJSNqeFxuIiwgaSwgKGludG1heF90KWFyZ3NbaV0pOworCQkJfQorI2VuZGlmCisjaWZk
ZWYgU1lTQ0FMTF9UUkFDSU5HCisJCQlwcmludGYoIiVzKCIsIHN5c2NhbGxuYW1lc1tjb2RlXSk7
CisJCQlmb3IgKGkgPSAwOyBpIDwgbmFyZ3M7IGkrKykgeworCQkJCXByaW50ZigiJXMlI2p4Iiwg
aSA9PSAwID8gIiIgOiAiLCAiLCAoaW50bWF4X3QpYXJnc1tpXSk7CisJCQl9CisJCQlwcmludGYo
IilcbiIpOworI2VuZGlmCiAjaWZkZWYgS1RSQUNFCiAJCQlpZiAoS1RSUE9JTlQodGQsIEtUUl9T
WVNDQUxMKSkKIAkJCQlrdHJzeXNjYWxsKGNvZGUsIG5hcmdzLCBhcmdzKTsKSW5kZXg6IHN5cy9t
aXBzL21pcHMvcG1fbWFjaGRlcC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9taXBzL21pcHMvcG1fbWFj
aGRlcC5jCShyZXZpc2lvbiAyMDkzNjcpCisrKyBzeXMvbWlwcy9taXBzL3BtX21hY2hkZXAuYwko
d29ya2luZyBjb3B5KQpAQCAtMTQwLDE2ICsxNDAsMTYgQEAKIAogCS8qIEJ1aWxkIHRoZSBhcmd1
bWVudCBsaXN0IGZvciB0aGUgc2lnbmFsIGhhbmRsZXIuICovCiAJcmVncy0+YTAgPSBzaWc7Ci0J
cmVncy0+YTIgPSAocmVnaXN0ZXJfdCkmc2ZwLT5zZl91YzsKKwlyZWdzLT5hMiA9IChyZWdpc3Rl
cl90KShpbnRwdHJfdCkmc2ZwLT5zZl91YzsKIAlpZiAoU0lHSVNNRU1CRVIocHNwLT5wc19zaWdp
bmZvLCBzaWcpKSB7CiAJCS8qIFNpZ25hbCBoYW5kbGVyIGluc3RhbGxlZCB3aXRoIFNBX1NJR0lO
Rk8uICovCi0JCXJlZ3MtPmExID0gKHJlZ2lzdGVyX3QpJnNmcC0+c2Zfc2k7CisJCXJlZ3MtPmEx
ID0gKHJlZ2lzdGVyX3QpKGludHB0cl90KSZzZnAtPnNmX3NpOwogCQkvKiBzZi5zZl9haHUuc2Zf
YWN0aW9uID0gKF9fc2lnaW5mb2hhbmRsZXJfdCAqKWNhdGNoZXI7ICovCiAKIAkJLyogZmlsbCBz
aWdpbmZvIHN0cnVjdHVyZSAqLwogCQlzZi5zZl9zaS5zaV9zaWdubyA9IHNpZzsKIAkJc2Yuc2Zf
c2kuc2lfY29kZSA9IGtzaS0+a3NpX2NvZGU7Ci0JCXNmLnNmX3NpLnNpX2FkZHIgPSAodm9pZCop
cmVncy0+YmFkdmFkZHI7CisJCXNmLnNmX3NpLnNpX2FkZHIgPSAodm9pZCopKGludHB0cl90KXJl
Z3MtPmJhZHZhZGRyOwogCX0gZWxzZSB7CiAJCS8qIE9sZCBGcmVlQlNELXN0eWxlIGFyZ3VtZW50
cy4gKi8KIAkJcmVncy0+YTEgPSBrc2ktPmtzaV9jb2RlOwpAQCAtMTcyLDEzICsxNzIsMTMgQEAK
IAkJc2lnZXhpdCh0ZCwgU0lHSUxMKTsKIAl9CiAKLQlyZWdzLT5wYyA9IChyZWdpc3Rlcl90KSBj
YXRjaGVyOwotCXJlZ3MtPnQ5ID0gKHJlZ2lzdGVyX3QpIGNhdGNoZXI7Ci0JcmVncy0+c3AgPSAo
cmVnaXN0ZXJfdCkgc2ZwOworCXJlZ3MtPnBjID0gKHJlZ2lzdGVyX3QpKGludHB0cl90KWNhdGNo
ZXI7CisJcmVncy0+dDkgPSAocmVnaXN0ZXJfdCkoaW50cHRyX3QpY2F0Y2hlcjsKKwlyZWdzLT5z
cCA9IChyZWdpc3Rlcl90KShpbnRwdHJfdClzZnA7CiAJLyoKIAkgKiBTaWduYWwgdHJhbXBvbGlu
ZSBjb2RlIGlzIGF0IGJhc2Ugb2YgdXNlciBzdGFjay4KIAkgKi8KLQlyZWdzLT5yYSA9IChyZWdp
c3Rlcl90KSBQU19TVFJJTkdTIC0gKihwLT5wX3N5c2VudC0+c3Zfc3pzaWdjb2RlKTsKKwlyZWdz
LT5yYSA9IChyZWdpc3Rlcl90KShpbnRwdHJfdClQU19TVFJJTkdTIC0gKihwLT5wX3N5c2VudC0+
c3Zfc3pzaWdjb2RlKTsKIAlQUk9DX0xPQ0socCk7CiAJbXR4X2xvY2soJnBzcC0+cHNfbXR4KTsK
IH0KQEAgLTIzMSwxMiArMjMxLDEyIEBACiAJaWYgKHVjcC0+dWNfbWNvbnRleHQubWNfcmVnc1ta
RVJPXSAhPSBVQ09OVEVYVF9NQUdJQykgewogCQlwcmludGYoInNpZ3JldHVybjogcGlkICVkLCB1
Y3AgJXBcbiIsIHRkLT50ZF9wcm9jLT5wX3BpZCwgdWNwKTsKIAkJcHJpbnRmKCIgIG9sZCBzcCAl
cCByYSAlcCBwYyAlcFxuIiwKLQkJICAgICh2b2lkICopcmVncy0+c3AsICh2b2lkICopcmVncy0+
cmEsICh2b2lkICopcmVncy0+cGMpOworCQkgICAgKHZvaWQgKikoaW50cHRyX3QpcmVncy0+c3As
ICh2b2lkICopKGludHB0cl90KXJlZ3MtPnJhLCAodm9pZCAqKShpbnRwdHJfdClyZWdzLT5wYyk7
CiAJCXByaW50ZigiICBuZXcgc3AgJXAgcmEgJXAgcGMgJXAgeiAlcFxuIiwKLQkJICAgICh2b2lk
ICopdWNwLT51Y19tY29udGV4dC5tY19yZWdzW1NQXSwKLQkJICAgICh2b2lkICopdWNwLT51Y19t
Y29udGV4dC5tY19yZWdzW1JBXSwKLQkJICAgICh2b2lkICopdWNwLT51Y19tY29udGV4dC5tY19y
ZWdzW1BDXSwKLQkJICAgICh2b2lkICopdWNwLT51Y19tY29udGV4dC5tY19yZWdzW1pFUk9dKTsK
KwkJICAgICh2b2lkICopKGludHB0cl90KXVjcC0+dWNfbWNvbnRleHQubWNfcmVnc1tTUF0sCisJ
CSAgICAodm9pZCAqKShpbnRwdHJfdCl1Y3AtPnVjX21jb250ZXh0Lm1jX3JlZ3NbUkFdLAorCQkg
ICAgKHZvaWQgKikoaW50cHRyX3QpdWNwLT51Y19tY29udGV4dC5tY19yZWdzW1BDXSwKKwkJICAg
ICh2b2lkICopKGludHB0cl90KXVjcC0+dWNfbWNvbnRleHQubWNfcmVnc1taRVJPXSk7CiAJCXJl
dHVybiBFSU5WQUw7CiAJfQogLyogI2VuZGlmICovCkBAIC00ODMsMTIgKzQ4MywxMCBAQAogCXRk
LT50ZF9mcmFtZS0+c3AgPSAoKHJlZ2lzdGVyX3QpIHN0YWNrKSAmIH4oc2l6ZW9mKF9faW50NjRf
dCkgLSAxKTsKIAl0ZC0+dGRfZnJhbWUtPnBjID0gaW1ncC0+ZW50cnlfYWRkciAmIH4zOwogCXRk
LT50ZF9mcmFtZS0+dDkgPSBpbWdwLT5lbnRyeV9hZGRyICYgfjM7IC8qIGFiaWNhbGwgcmVxICov
Ci0jaWYgMAotLy8JdGQtPnRkX2ZyYW1lLT5zciA9IFNSX0tTVV9VU0VSIHwgU1JfRVhMIHwgU1Jf
SU5UX0VOQUI7Ci0vLz8JdGQtPnRkX2ZyYW1lLT5zciB8PSAgaWRsZV9tYXNrICYgQUxMX0lOVF9N
QVNLOwotI2Vsc2UKIAl0ZC0+dGRfZnJhbWUtPnNyID0gU1JfS1NVX1VTRVIgfCBTUl9FWEwgfCBT
Ul9JTlRfRU5BQiB8CiAJICAgIChtaXBzX3JkX3N0YXR1cygpICYgQUxMX0lOVF9NQVNLKTsKKyNp
ZiBkZWZpbmVkKF9fbWlwc19uMzIpIHx8IGRlZmluZWQoX19taXBzX242NCkKKwl0ZC0+dGRfZnJh
bWUtPnNyIHw9IFNSX1BYOwogI2VuZGlmCiAjaWZkZWYgVEFSR0VUX09DVEVPTgogCXRkLT50ZF9m
cmFtZS0+c3IgfD0gTUlQU19TUl9DT1BfMl9CSVQgfCBNSVBTMzJfU1JfUFggfCBNSVBTX1NSX1VY
IHwK
--00c09f88cf8c433dfa04898d149b
Content-Type: text/x-patch; charset=US-ASCII; name="n32-kernel.patch"
Content-Disposition: attachment; filename="n32-kernel.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gapjcvjn5

SW5kZXg6IHN5cy9jb25mL2xkc2NyaXB0Lm1pcHMubjMyCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9jb25m
L2xkc2NyaXB0Lm1pcHMubjMyCShyZXZpc2lvbiAwKQorKysgc3lzL2NvbmYvbGRzY3JpcHQubWlw
cy5uMzIJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzAzIEBACisvKi0KKyAqIENvcHlyaWdodCAo
YykgMjAwMSwgMjAwNCwgMjAwOCwgSnVuaXBlciBOZXR3b3JrcywgSW5jLgorICogQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIEp1bmlw
ZXIgTmV0d29ya3MsIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqICAgIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiAgICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgSlVOSVBFUiBORVRX
T1JLUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBK
VU5JUEVSIE5FVFdPUktTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBE
QU1BR0UuCisgKgorICoJSk5QUjogbGRzY3JpcHQubWlwcyx2IDEuMyAyMDA2LzEwLzExIDA2OjEy
OjA0CisgKiAkRnJlZUJTRCQKKyAqLworCitPVVRQVVRfRk9STUFUKCJlbGYzMi1udHJhZGJpZ21p
cHMiLCAiZWxmMzItbnRyYWRiaWdtaXBzIiwgCisJCSJlbGYzMi1udHJhZGxpdHRsZW1pcHMiKQor
CitPVVRQVVRfQVJDSChtaXBzKQorRU5UUlkoX3N0YXJ0KQorU0VBUkNIX0RJUigvdXNyL2xpYik7
CisvKiBEbyB3ZSBuZWVkIGFueSBvZiB0aGVzZSBmb3IgZWxmPworICAgX19EWU5BTUlDID0gMDsK
K1BST1ZJREUgKF9EWU5BTUlDID0gMCk7CisqLworU0VDVElPTlMKK3sKKyAgLyogUmVhZC1vbmx5
IHNlY3Rpb25zLCBtZXJnZWQgaW50byB0ZXh0IHNlZ21lbnQ6ICovCisgIC4gPSBLRVJOTE9BREFE
RFIgKyBTSVpFT0ZfSEVBREVSUzsKKyAgLnRleHQgICAgICA6CisgIHsKKyAgICAqKC50cmFwKQor
ICAgICooLnRleHQpCisgICAgKigudGV4dC4qKQorICAgICooLnN0dWIpCisgICAgLyogLmdudS53
YXJuaW5nIHNlY3Rpb25zIGFyZSBoYW5kbGVkIHNwZWNpYWxseSBieSBlbGYzMi5lbS4gICovCisg
ICAgKiguZ251Lndhcm5pbmcpCisgICAgKiguZ251LmxpbmtvbmNlLnQuKikKKyAgfSA9MHgxMDAw
MDAwCisgIC5maW5pICAgICAgOgorICB7CisgICAgS0VFUCAoKiguZmluaSkpCisgIH0gPTB4MTAw
MDAwMAorICBQUk9WSURFIChfX2V0ZXh0ID0gLik7CisgIFBST1ZJREUgKF9ldGV4dCA9IC4pOwor
ICBQUk9WSURFIChldGV4dCA9IC4pOworICAucm9kYXRhICAgOiB7ICooLnJvZGF0YSkgKigucm9k
YXRhLiopICooLmdudS5saW5rb25jZS5yLiopIH0KKyAgLnJvZGF0YTEgICA6IHsgKigucm9kYXRh
MSkgfQorICAuaW50ZXJwICAgICA6IHsgKiguaW50ZXJwKSAJfQorICAuaGFzaCAgICAgICAgICA6
IHsgKiguaGFzaCkJCX0KKyAgLmR5bnN5bSAgICAgICAgOiB7ICooLmR5bnN5bSkJCX0KKyAgLmR5
bnN0ciAgICAgICAgOiB7ICooLmR5bnN0cikJCX0KKyAgLmdudS52ZXJzaW9uICAgOiB7ICooLmdu
dS52ZXJzaW9uKQl9CisgIC5nbnUudmVyc2lvbl9kICAgOiB7ICooLmdudS52ZXJzaW9uX2QpCX0K
KyAgLmdudS52ZXJzaW9uX3IgICA6IHsgKiguZ251LnZlcnNpb25fcikJfQorICAucmVsLmluaXQg
ICAgICA6IHsgKigucmVsLmluaXQpCX0KKyAgLnJlbGEuaW5pdCAgICAgOiB7ICooLnJlbGEuaW5p
dCkJfQorICAucmVsLnRleHQgICAgICA6CisgICAgeworICAgICAgKigucmVsLnRleHQpCisgICAg
ICAqKC5yZWwudGV4dC4qKQorICAgICAgKigucmVsLmdudS5saW5rb25jZS50LiopCisgICAgfQor
ICAucmVsYS50ZXh0ICAgICA6CisgICAgeworICAgICAgKigucmVsYS50ZXh0KQorICAgICAgKigu
cmVsYS50ZXh0LiopCisgICAgICAqKC5yZWxhLmdudS5saW5rb25jZS50LiopCisgICAgfQorICAu
cmVsLmZpbmkgICAgICA6IHsgKigucmVsLmZpbmkpCX0KKyAgLnJlbGEuZmluaSAgICAgOiB7ICoo
LnJlbGEuZmluaSkJfQorICAucmVsLnJvZGF0YSAgICA6CisgICAgeworICAgICAgKigucmVsLnJv
ZGF0YSkKKyAgICAgICooLnJlbC5yb2RhdGEuKikKKyAgICAgICooLnJlbC5nbnUubGlua29uY2Uu
ci4qKQorICAgIH0KKyAgLnJlbGEucm9kYXRhICAgOgorICAgIHsKKyAgICAgICooLnJlbGEucm9k
YXRhKQorICAgICAgKigucmVsYS5yb2RhdGEuKikKKyAgICAgICooLnJlbGEuZ251LmxpbmtvbmNl
LnIuKikKKyAgICB9CisgIC5yZWwuZGF0YSAgICAgIDoKKyAgICB7CisgICAgICAqKC5yZWwuZGF0
YSkKKyAgICAgICooLnJlbC5kYXRhLiopCisgICAgICAqKC5yZWwuZ251LmxpbmtvbmNlLmQuKikK
KyAgICB9CisgIC5yZWxhLmRhdGEgICAgIDoKKyAgICB7CisgICAgICAqKC5yZWxhLmRhdGEpCisg
ICAgICAqKC5yZWxhLmRhdGEuKikKKyAgICAgICooLnJlbGEuZ251LmxpbmtvbmNlLmQuKikKKyAg
ICB9CisgIC5yZWwuY3RvcnMgICAgIDogeyAqKC5yZWwuY3RvcnMpCX0KKyAgLnJlbGEuY3RvcnMg
ICAgOiB7ICooLnJlbGEuY3RvcnMpCX0KKyAgLnJlbC5kdG9ycyAgICAgOiB7ICooLnJlbC5kdG9y
cykJfQorICAucmVsYS5kdG9ycyAgICA6IHsgKigucmVsYS5kdG9ycykJfQorICAucmVsLmdvdCAg
ICAgICA6IHsgKigucmVsLmdvdCkJCX0KKyAgLnJlbGEuZ290ICAgICAgOiB7ICooLnJlbGEuZ290
KQkJfQorICAucmVsLnNkYXRhICAgICA6CisgICAgeworICAgICAgKigucmVsLnNkYXRhKQorICAg
ICAgKigucmVsLnNkYXRhLiopCisgICAgICAqKC5yZWwuZ251LmxpbmtvbmNlLnMuKikKKyAgICB9
CisgIC5yZWxhLnNkYXRhICAgICA6CisgICAgeworICAgICAgKigucmVsYS5zZGF0YSkKKyAgICAg
ICooLnJlbGEuc2RhdGEuKikKKyAgICAgICooLnJlbGEuZ251LmxpbmtvbmNlLnMuKikKKyAgICB9
CisgIC5yZWwuc2JzcyAgICAgIDoKKyAgICB7IAorICAgICAgKigucmVsLnNic3MpCisgICAgICAq
KC5yZWwuc2Jzcy4qKQorICAgICAgKigucmVsLmdudS5saW5rb25jZS5zYi4qKQorICAgIH0KKyAg
LnJlbGEuc2JzcyAgICAgOgorICAgIHsKKyAgICAgICooLnJlbGEuc2JzcykKKyAgICAgICooLnJl
bGEuc2Jzcy4qKQorICAgICAgKigucmVsLmdudS5saW5rb25jZS5zYi4qKQorICAgIH0KKyAgLnJl
bC5zZGF0YTIgICAgOiAKKyAgICB7IAorICAgICAgKigucmVsLnNkYXRhMikKKyAgICAgICooLnJl
bC5zZGF0YTIuKikKKyAgICAgICooLnJlbC5nbnUubGlua29uY2UuczIuKikKKyAgICB9CisgIC5y
ZWxhLnNkYXRhMiAgIDogCisgICAgeworICAgICAgKigucmVsYS5zZGF0YTIpCisgICAgICAqKC5y
ZWxhLnNkYXRhMi4qKQorICAgICAgKigucmVsYS5nbnUubGlua29uY2UuczIuKikKKyAgICB9Cisg
IC5yZWwuc2JzczIgICAgIDogCisgICAgeyAKKyAgICAgICooLnJlbC5zYnNzMikJCisgICAgICAq
KC5yZWwuc2JzczIuKikKKyAgICAgICooLnJlbC5nbnUubGlua29uY2Uuc2IyLiopCisgICAgfQor
ICAucmVsYS5zYnNzMiAgICA6IAorICAgIHsgCisgICAgICAqKC5yZWxhLnNic3MyKQkKKyAgICAg
ICooLnJlbGEuc2JzczIuKikKKyAgICAgICooLnJlbGEuZ251LmxpbmtvbmNlLnNiMi4qKQorICAg
IH0KKyAgLnJlbC5ic3MgICAgICAgOiAKKyAgICB7IAorICAgICAgKigucmVsLmJzcykKKyAgICAg
ICooLnJlbC5ic3MuKikKKyAgICAgICooLnJlbC5nbnUubGlua29uY2UuYi4qKQorICAgIH0KKyAg
LnJlbGEuYnNzICAgICAgOiAKKyAgICB7IAorICAgICAgKigucmVsYS5ic3MpCisgICAgICAqKC5y
ZWxhLmJzcy4qKQorICAgICAgKigucmVsYS5nbnUubGlua29uY2UuYi4qKQorICAgIH0KKyAgLnJl
bC5wbHQgICAgICAgOiB7ICooLnJlbC5wbHQpCQl9CisgIC5yZWxhLnBsdCAgICAgIDogeyAqKC5y
ZWxhLnBsdCkJCX0KKyAgLmluaXQgICAgICAgICAgOiAKKyAgeyAKKyAgICBLRUVQICgqKC5pbml0
KSkKKyAgfSA9MHgxMDAwMDAwCisgIC5yZWdpbmZvIDogeyAqKC5yZWdpbmZvKSB9CisgIC5zZGF0
YTIgICA6IHsgKiguc2RhdGEyKSAqKC5zZGF0YTIuKikgKiguZ251LmxpbmtvbmNlLnMyLiopIH0K
KyAgLnNic3MyICAgOiB7ICooLnNic3MyKSAqKC5zYnNzMi4qKSAqKC5nbnUubGlua29uY2Uuc2Iy
LiopIH0KKyAgLiA9IEFMSUdOKDB4MjAwMCkgKyAoLiAmICgweDIwMDAgLSAxKSk7CisgIC5kYXRh
ICAgIDoKKyAgeworICAgICooLmRhdGEpCisgICAgKiguZGF0YS4qKQorICAgICooLmdudS5saW5r
b25jZS5kLiopCisgICAgU09SVChDT05TVFJVQ1RPUlMpCisgIH0KKyAgLmRhdGExICAgOiB7ICoo
LmRhdGExKSB9CisgIC5laF9mcmFtZSA6IHsgS0VFUCAoKiguZWhfZnJhbWUpKSB9CisgIC5nY2Nf
ZXhjZXB0X3RhYmxlIDogeyAqKC5nY2NfZXhjZXB0X3RhYmxlKSB9CisgIC5jdG9ycyAgIDogCisg
IHsKKyAgICAvKiBnY2MgdXNlcyBjcnRiZWdpbi5vIHRvIGZpbmQgdGhlIHN0YXJ0IG9mCisgICAg
ICAgdGhlIGNvbnN0cnVjdG9ycywgc28gd2UgbWFrZSBzdXJlIGl0IGlzCisgICAgICAgZmlyc3Qu
ICBCZWNhdXNlIHRoaXMgaXMgYSB3aWxkY2FyZCwgaXQKKyAgICAgICBkb2Vzbid0IG1hdHRlciBp
ZiB0aGUgdXNlciBkb2VzIG5vdAorICAgICAgIGFjdHVhbGx5IGxpbmsgYWdhaW5zdCBjcnRiZWdp
bi5vOyB0aGUKKyAgICAgICBsaW5rZXIgd29uJ3QgbG9vayBmb3IgYSBmaWxlIHRvIG1hdGNoIGEK
KyAgICAgICB3aWxkY2FyZC4gIFRoZSB3aWxkY2FyZCBhbHNvIG1lYW5zIHRoYXQgaXQKKyAgICAg
ICBkb2Vzbid0IG1hdHRlciB3aGljaCBkaXJlY3RvcnkgY3J0YmVnaW4ubworICAgICAgIGlzIGlu
LiAgKi8KKyAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQorICAgIC8qIFdlIGRvbid0IHdh
bnQgdG8gaW5jbHVkZSB0aGUgLmN0b3Igc2VjdGlvbiBmcm9tCisgICAgICAgZnJvbSB0aGUgY3J0
ZW5kLm8gZmlsZSB1bnRpbCBhZnRlciB0aGUgc29ydGVkIGN0b3JzLgorICAgICAgIFRoZSAuY3Rv
ciBzZWN0aW9uIGZyb20gdGhlIGNydGVuZCBmaWxlIGNvbnRhaW5zIHRoZQorICAgICAgIGVuZCBv
ZiBjdG9ycyBtYXJrZXIgYW5kIGl0IG11c3QgYmUgbGFzdCAqLworICAgIEtFRVAgKCooRVhDTFVE
RV9GSUxFICgqY3J0ZW5kLm8gKSAuY3RvcnMpKQorICAgIEtFRVAgKCooU09SVCguY3RvcnMuKikp
KQorICAgIEtFRVAgKCooLmN0b3JzKSkKKyAgfQorICAgLmR0b3JzICAgICAgICAgOgorICB7Cisg
ICAgS0VFUCAoKmNydGJlZ2luLm8oLmR0b3JzKSkKKyAgICBLRUVQICgqKEVYQ0xVREVfRklMRSAo
KmNydGVuZC5vICkgLmR0b3JzKSkKKyAgICBLRUVQICgqKFNPUlQoLmR0b3JzLiopKSkKKyAgICBL
RUVQICgqKC5kdG9ycykpCisgIH0KKyAgLnBsdCAgICAgIDogeyAqKC5wbHQpCX0KKyAgX2dwID0g
QUxJR04oMTYpICsgMHg3ZmYwOworICAuZ290CQkgIDogeyAqKC5nb3QucGx0KSAqKC5nb3QpIH0K
KyAgLmR5bmFtaWMgICAgICAgOiB7ICooLmR5bmFtaWMpIH0KKyAgLyogV2Ugd2FudCB0aGUgc21h
bGwgZGF0YSBzZWN0aW9ucyB0b2dldGhlciwgc28gc2luZ2xlLWluc3RydWN0aW9uIG9mZnNldHMK
KyAgICAgY2FuIGFjY2VzcyB0aGVtIGFsbCwgYW5kIGluaXRpYWxpemVkIGRhdGEgYWxsIGJlZm9y
ZSB1bmluaXRpYWxpemVkLCBzbworICAgICB3ZSBjYW4gc2hvcnRlbiB0aGUgb24tZGlzayBzZWdt
ZW50IHNpemUuICAqLworICAuc2RhdGEgICAgIDogCisgIHsKKyAgICAqKC5zZGF0YSkgCisgICAg
Kiguc2RhdGEuKikKKyAgICAqKC5nbnUubGlua29uY2Uucy4qKQorICB9CisgIF9lZGF0YSA9IC47
CisgIFBST1ZJREUgKGVkYXRhID0gLik7CisgIF9fYnNzX3N0YXJ0ID0gLjsKKyAgLnNic3MgICAg
ICA6CisgIHsKKyAgICBQUk9WSURFIChfX3Nic3Nfc3RhcnQgPSAuKTsKKyAgICBQUk9WSURFIChf
X19zYnNzX3N0YXJ0ID0gLik7CisgICAgKiguZHluc2JzcykKKyAgICAqKC5zYnNzKQorICAgICoo
LnNic3MuKikKKyAgICAqKC5nbnUubGlua29uY2Uuc2IuKikKKyAgICAqKC5zY29tbW9uKQorICAg
IFBST1ZJREUgKF9fc2Jzc19lbmQgPSAuKTsKKyAgICBQUk9WSURFIChfX19zYnNzX2VuZCA9IC4p
OworICB9CisgIC5ic3MgICAgICAgOgorICB7CisgICAqKC5keW5ic3MpCisgICAqKC5ic3MpCisg
ICAqKC5ic3MuKikKKyAgICooLmdudS5saW5rb25jZS5iLiopCisgICAqKENPTU1PTikKKyAgIC8q
IEFsaWduIGhlcmUgdG8gZW5zdXJlIHRoYXQgdGhlIC5ic3Mgc2VjdGlvbiBvY2N1cGllcyBzcGFj
ZSB1cCB0bworICAgICAgX2VuZC4gIEFsaWduIGFmdGVyIC5ic3MgdG8gZW5zdXJlIGNvcnJlY3Qg
YWxpZ25tZW50IGV2ZW4gaWYgdGhlCisgICAgICAuYnNzIHNlY3Rpb24gZGlzYXBwZWFycyBiZWNh
dXNlIHRoZXJlIGFyZSBubyBpbnB1dCBzZWN0aW9ucy4gICovCisgICAuID0gQUxJR04oNjQgLyA4
KTsKKyAgfQorICAuID0gQUxJR04oNjQgLyA4KTsKKyAgX2VuZCA9IC47CisgIFBST1ZJREUgKGVu
ZCA9IC4pOworICAvKiBTdGFicyBkZWJ1Z2dpbmcgc2VjdGlvbnMuICAqLworICAuc3RhYiAwIDog
eyAqKC5zdGFiKSB9CisgIC5zdGFic3RyIDAgOiB7ICooLnN0YWJzdHIpIH0KKyAgLnN0YWIuZXhj
bCAwIDogeyAqKC5zdGFiLmV4Y2wpIH0KKyAgLnN0YWIuZXhjbHN0ciAwIDogeyAqKC5zdGFiLmV4
Y2xzdHIpIH0KKyAgLnN0YWIuaW5kZXggMCA6IHsgKiguc3RhYi5pbmRleCkgfQorICAuc3RhYi5p
bmRleHN0ciAwIDogeyAqKC5zdGFiLmluZGV4c3RyKSB9CisgIC5jb21tZW50IDAgOiB7ICooLmNv
bW1lbnQpIH0KKyAgLyogRFdBUkYgZGVidWcgc2VjdGlvbnMuCisgICAgIFN5bWJvbHMgaW4gdGhl
IERXQVJGIGRlYnVnZ2luZyBzZWN0aW9ucyBhcmUgcmVsYXRpdmUgdG8gdGhlIGJlZ2lubmluZwor
ICAgICBvZiB0aGUgc2VjdGlvbiBzbyB3ZSBiZWdpbiB0aGVtIGF0IDAuICAqLworICAvKiBEV0FS
RiAxICovCisgIC5kZWJ1ZyAgICAgICAgICAwIDogeyAqKC5kZWJ1ZykgfQorICAubGluZSAgICAg
ICAgICAgMCA6IHsgKigubGluZSkgfQorICAvKiBHTlUgRFdBUkYgMSBleHRlbnNpb25zICovCisg
IC5kZWJ1Z19zcmNpbmZvICAwIDogeyAqKC5kZWJ1Z19zcmNpbmZvKSB9CisgIC5kZWJ1Z19zZm5h
bWVzICAwIDogeyAqKC5kZWJ1Z19zZm5hbWVzKSB9CisgIC8qIERXQVJGIDEuMSBhbmQgRFdBUkYg
MiAqLworICAuZGVidWdfYXJhbmdlcyAgMCA6IHsgKiguZGVidWdfYXJhbmdlcykgfQorICAuZGVi
dWdfcHVibmFtZXMgMCA6IHsgKiguZGVidWdfcHVibmFtZXMpIH0KKyAgLyogRFdBUkYgMiAqLwor
ICAuZGVidWdfaW5mbyAgICAgMCA6IHsgKiguZGVidWdfaW5mbykgKiguZ251LmxpbmtvbmNlLndp
LiopIH0KKyAgLmRlYnVnX2FiYnJldiAgIDAgOiB7ICooLmRlYnVnX2FiYnJldikgfQorICAuZGVi
dWdfbGluZSAgICAgMCA6IHsgKiguZGVidWdfbGluZSkgfQorICAuZGVidWdfZnJhbWUgICAgMCA6
IHsgKiguZGVidWdfZnJhbWUpIH0KKyAgLmRlYnVnX3N0ciAgICAgIDAgOiB7ICooLmRlYnVnX3N0
cikgfQorICAuZGVidWdfbG9jICAgICAgMCA6IHsgKiguZGVidWdfbG9jKSB9CisgIC5kZWJ1Z19t
YWNpbmZvICAwIDogeyAqKC5kZWJ1Z19tYWNpbmZvKSB9CisgIC8qIFNHSS9NSVBTIERXQVJGIDIg
ZXh0ZW5zaW9ucyAqLworICAuZGVidWdfd2Vha25hbWVzIDAgOiB7ICooLmRlYnVnX3dlYWtuYW1l
cykgfQorICAuZGVidWdfZnVuY25hbWVzIDAgOiB7ICooLmRlYnVnX2Z1bmNuYW1lcykgfQorICAu
ZGVidWdfdHlwZW5hbWVzIDAgOiB7ICooLmRlYnVnX3R5cGVuYW1lcykgfQorICAuZGVidWdfdmFy
bmFtZXMgIDAgOiB7ICooLmRlYnVnX3Zhcm5hbWVzKSB9CisgIC8qIFRoZXNlIG11c3QgYXBwZWFy
IHJlZ2FyZGxlc3Mgb2YgIC4gICovCit9CkluZGV4OiBzeXMvbWlwcy9jb25mL1hMUk4zMgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBzeXMvbWlwcy9jb25mL1hMUk4zMgkocmV2aXNpb24gMCkKKysrIHN5cy9taXBz
L2NvbmYvWExSTjMyCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2MyBAQAorIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjUk1JX0JTRCMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMKKyMgQ29weXJpZ2h0IChjKSAyMDAzLTIwMDkgUk1JIENvcnBvcmF0aW9uCisjIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisjIAorIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBt
ZXQ6CisjIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorIyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorIyAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIFJNSSBDb3Jwb3Jh
dGlvbiwgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzLAorIyAgICBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdh
cmUKKyMgICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjIAor
IyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRSSUJVVE9S
UyBgYEFTIElTJycgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorIyBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorIyBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorIyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworIyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikKKyMgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyMgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorIyBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GCisjIFNVQ0ggREFNQUdFLgorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjUk1JX0JTRCMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgWExS
IC0tIEdlbmVyaWMga2VybmVsIGNvbmZpZ3VyYXRpb24gZmlsZSBmb3IgRnJlZUJTRC9taXBzCisj
CisjIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgZmlsZSwgcGxlYXNlIHJlYWQgdGhlIGhh
bmRib29rIHNlY3Rpb24gb24KKyMgS2VybmVsIENvbmZpZ3VyYXRpb24gRmlsZXM6CisjCisjICAg
IGh0dHA6Ly93d3cuRnJlZUJTRC5vcmcvZG9jL2VuX1VTLklTTzg4NTktMS9ib29rcy9oYW5kYm9v
ay9rZXJuZWxjb25maWctY29uZmlnLmh0bWwKKyMKKyMgVGhlIGhhbmRib29rIGlzIGFsc28gYXZh
aWxhYmxlIGxvY2FsbHkgaW4gL3Vzci9zaGFyZS9kb2MvaGFuZGJvb2sKKyMgaWYgeW91J3ZlIGlu
c3RhbGxlZCB0aGUgZG9jIGRpc3RyaWJ1dGlvbiwgb3RoZXJ3aXNlIGFsd2F5cyBzZWUgdGhlCisj
IEZyZWVCU0QgV29ybGQgV2lkZSBXZWIgc2VydmVyIChodHRwOi8vd3d3LkZyZWVCU0Qub3JnLykg
Zm9yIHRoZQorIyBsYXRlc3QgaW5mb3JtYXRpb24uCisjCisjIEFuIGV4aGF1c3RpdmUgbGlzdCBv
ZiBvcHRpb25zIGFuZCBtb3JlIGRldGFpbGVkIGV4cGxhbmF0aW9ucyBvZiB0aGUKKyMgZGV2aWNl
IGxpbmVzIGlzIGFsc28gcHJlc2VudCBpbiB0aGUgLi4vLi4vY29uZi9OT1RFUyBhbmQgTk9URVMg
ZmlsZXMuIAorIyBJZiB5b3UgYXJlIGluIGRvdWJ0IGFzIHRvIHRoZSBwdXJwb3NlIG9yIG5lY2Vz
c2l0eSBvZiBhIGxpbmUsIGNoZWNrIGZpcnN0IAorIyBpbiBOT1RFUy4KKyMKKyMgJEZyZWVCU0Q6
IGhlYWQvc3lzL21pcHMvY29uZi9YTFIgMjA4MTY1IDIwMTAtMDUtMTYgMTk6NDM6NDhaIHJycyAk
CisKK21hY2hpbmUgCW1pcHMKK2NwdSAJCUNQVV9NSVBTNEtDCitpZGVudCAJCVhMUgorCittYWtl
b3B0aW9ucwlNT0RVTEVTX09WRVJSSURFPSIiCittYWtlb3B0aW9ucyAgICAgVEFSR0VUX0JJR19F
TkRJQU4KKyMKKworaW5jbHVkZQkJIi4uL3JtaS9zdGQueGxyIgorCisKK21ha2VvcHRpb25zCURF
QlVHPS1nCQkjIEJ1aWxkIGtlcm5lbCB3aXRoIGdkYigxKSBkZWJ1ZyBzeW1ib2xzCittYWtlb3B0
aW9ucwlBUkNIX0ZMQUdTPSItbWFyY2g9bWlwczY0IC1tYWJpPW4zMiIKK21ha2VvcHRpb25zCUxE
U0NSSVBUX05BTUU9bGRzY3JpcHQubWlwcy5uMzIKKworI3Byb2ZpbGUJCTIKKworb3B0aW9ucyAJ
U0NIRURfVUxFCQkjIFVMRSBzY2hlZHVsZXIKKyNvcHRpb25zCQlWRVJCT1NFX1NZU0lOSVQKKyNv
cHRpb25zIAlTQ0hFRF80QlNECQkjIDRCU0Qgc2NoZWR1bGVyCitvcHRpb25zICAgICAgICAgU01Q
CitvcHRpb25zIAlQUkVFTVBUSU9OCQkjIEVuYWJsZSBrZXJuZWwgdGhyZWFkIHByZWVtcHRpb24K
KyNvcHRpb25zIAlGVUxMX1BSRUVNUFRJT04JCSMgRW5hYmxlIGtlcm5lbCB0aHJlYWQgcHJlZW1w
dGlvbgorb3B0aW9ucyAJSU5FVAkJCSMgSW50ZXJORVR3b3JraW5nCitvcHRpb25zIAlJTkVUNgkJ
CSMgSVB2NiBjb21tdW5pY2F0aW9ucyBwcm90b2NvbHMKK29wdGlvbnMgCUZGUwkJCSMgQmVya2Vs
ZXkgRmFzdCBGaWxlc3lzdGVtCisjb3B0aW9ucyAJU09GVFVQREFURVMJCSMgRW5hYmxlIEZGUyBz
b2Z0IHVwZGF0ZXMgc3VwcG9ydAorb3B0aW9ucyAJVUZTX0FDTAkJCSMgU3VwcG9ydCBmb3IgYWNj
ZXNzIGNvbnRyb2wgbGlzdHMKK29wdGlvbnMgCVVGU19ESVJIQVNICQkjIEltcHJvdmUgcGVyZm9y
bWFuY2Ugb24gYmlnIGRpcmVjdG9yaWVzCitvcHRpb25zCQlORlNDTElFTlQKK29wdGlvbnMJCU5G
U19ST09UCisjCitvcHRpb25zICAgICAgICAgQk9PVFAKK29wdGlvbnMgICAgICAgICBCT09UUF9O
RlNST09UCitvcHRpb25zICAgICAgICAgQk9PVFBfTkZTVjMKK29wdGlvbnMgICAgICAgICBCT09U
UF9XSVJFRF9UTz1yZ2UwCitvcHRpb25zICAgICAgICAgQk9PVFBfQ09NUEFUCitvcHRpb25zCQlS
T09UREVWTkFNRT1cIm5mczoxMC4xLjEuODovdXNyL2V4dHJhL25mc3Jvb3RcIgorIworI29wdGlv
bnMgCU1EX1JPT1QJCQkjIE1EIGlzIGEgcG90ZW50aWFsIHJvb3QgZGV2aWNlCisjb3B0aW9ucwkJ
TURfUk9PVF9TSVpFPTI3MDAwCisjb3B0aW9ucwkJTURfUk9PVF9TSVpFPTUxMjAKKyNvcHRpb25z
CQlST09UREVWTkFNRT1cInVmczptZDBcIgorb3B0aW9ucyAJX0tQT1NJWF9QUklPUklUWV9TQ0hF
RFVMSU5HICMgUE9TSVggUDEwMDNfMUIgcmVhbC10aW1lIGV4dGVuc2lvbnMKK29wdGlvbnMgCUha
PTEwMDAJCitvcHRpb25zIAlOT19TV0FQUElORworCisjRGVidWdnaW5nIG9wdGlvbnMKK29wdGlv
bnMgCUtUUkFDRQkJCSMga3RyYWNlKDEpIHN1cHBvcnQKK29wdGlvbnMgCUREQgorb3B0aW9ucyAJ
S0RCCitvcHRpb25zIAlHREIKK29wdGlvbnMgCUFMVF9CUkVBS19UT19ERUJVR0dFUgorI29wdGlv
bnMgCURFQURMS1JFUwkJI0VuYWJsZSB0aGUgZGVhZGxvY2sgcmVzb2x2ZXIKK29wdGlvbnMgCUlO
VkFSSUFOVFMJCSNFbmFibGUgY2FsbHMgb2YgZXh0cmEgc2FuaXR5IGNoZWNraW5nCitvcHRpb25z
IAlJTlZBUklBTlRfU1VQUE9SVAkjRXh0cmEgc2FuaXR5IGNoZWNrcyBvZiBpbnRlcm5hbCBzdHJ1
Y3R1cmVzLCByZXF1aXJlZCBieSBJTlZBUklBTlRTCisjb3B0aW9ucyAJV0lUTkVTUwkJCSNFbmFi
bGUgY2hlY2tzIHRvIGRldGVjdCBkZWFkbG9ja3MgYW5kIGN5Y2xlcworI29wdGlvbnMgCVdJVE5F
U1NfU0tJUFNQSU4JI0Rvbid0IHJ1biB3aXRuZXNzIG9uIHNwaW5sb2NrcyBmb3Igc3BlZWQKKyNv
cHRpb25zIAlLVFIJCQkjIGt0cig0KSBhbmQga3RyZHVtcCg4KSBzdXBwb3J0Cisjb3B0aW9ucyAJ
S1RSX0NPTVBJTEU9KEtUUl9MT0NLfEtUUl9QUk9DfEtUUl9JTlRSfEtUUl9DQUxMT1VUfEtUUl9V
TUF8S1RSX1NZU0N8S1RSX0NSSVRJQ0FMKQorI29wdGlvbnMgCUtUUl9FTlRSSUVTPTEzMTA3Mgor
I29wdGlvbnMgCU1VVEVYX0RFQlVHCisjb3B0aW9ucyAJTVVURVhfUFJPRklMSU5HCisKK2Rldmlj
ZQkJcGNpCisjZGV2aWNlCQlhdGEKKyNkZXZpY2UJCWF0YWRpc2sKKyNvcHRpb25zIAlYTFJfUEVS
Rk1PTgkJIyBFbmFibGUgWExSIHByb2Nlc3NvciBhY3Rpdml0eSBtb25pdG9yaW5nCitvcHRpb25z
ICAJQlJFQUtfVE9fREVCVUdHRVIKKyNkZXZpY2UgCQlnZW5jbG9jaworZGV2aWNlIAkJdWFydAor
IyBQc2V1ZG8KK2RldmljZSAJCWxvb3AKK2RldmljZSAJCXJhbmRvbQorZGV2aWNlIAkJbWQKK2Rl
dmljZSAJCW1lbQorZGV2aWNlIAkJcHR5CitkZXZpY2UJCWJwZgorCisjIE5ldHdvcmsKK2Rldmlj
ZQkJbWlpYnVzCitkZXZpY2UJCXJnZQorZGV2aWNlIAkJZXRoZXIKK2RldmljZQkJcmUKK2Rldmlj
ZQkJbXNrCisKK2RldmljZSAgICAgICAgICBkYQorZGV2aWNlICAgICAgICAgIHNjYnVzCisjZGV2
aWNlICAgICAgICAgIG9oY2kgICAgICAgICAgICAjIE9IQ0kgUENJLT5VU0IgaW50ZXJmYWNlCitk
ZXZpY2UgICAgICAgICAgZWhjaSAgICAgICAgICAgICMgRUhDSSBQQ0ktPlVTQiBpbnRlcmZhY2Ug
KFVTQiAyLjApCitkZXZpY2UgICAgICAgICAgdXNiICAgICAgICAgICAgICMgVVNCIEJ1cyAocmVx
dWlyZWQpCitvcHRpb25zIAlVU0JfREVCVUcJIyBlbmFibGUgZGVidWcgbXNncworI2RldmljZSAg
ICAgICAgIHVkYnAgICAgICAgICAgICAjIFVTQiBEb3VibGUgQnVsayBQaXBlIGRldmljZXMKKyNk
ZXZpY2UgICAgICAgICAgdWdlbiAgICAgICAgICAgICMgR2VuZXJpYworI2RldmljZSAgICAgICAg
ICB1aGlkICAgICAgICAgICAgIyAiSHVtYW4gSW50ZXJmYWNlIERldmljZXMiCitkZXZpY2UgICAg
ICAgICAgdW1hc3MgICAgICAgICAgICMgRGlza3MvTWFzcyBzdG9yYWdlIC0gUmVxdWlyZXMgc2Ni
dXMgYW5kIGRhCisKKyNkZXZpY2UJCWNmaQorCisjaTJjCisjIE5vdCB5ZXQKKyNkZXZpY2UgICAg
ICBpYworI2RldmljZSAgICAgIGlpYworI2RldmljZSAgICAgIGlpY2JiCisjZGV2aWNlICAgICAg
aWljYnVzCisjZGV2aWNlICAgICAgeGxyX3J0YworI2RldmljZSAgICAgIHhscl90ZW1wZXJhdHVy
ZQorI2RldmljZSAgICAgIHhscl9lZXByb20KKworI2NyeXB0bworIyBOb3QgeWV0CisjZGV2aWNl
IGNyeXB0b2RldgorI2RldmljZSBjcnlwdG8KKyNkZXZpY2Ugcm1pc2VjCitvcHRpb25zCQlJU0Ff
TUlQUzY0CittYWtlb3B0aW9ucwlLRVJOTE9BREFERFI9MHg4MDEwMDAwMAo=
--00c09f88cf8c433dfa04898d149b--



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