[PATCH v10 16/20] xen: create a Xen nexus to use in PV/PVH
SW50cm9kdWNlIGEgWGVuIHNwZWNpZmljIG5leHVzIHRoYXQgaXMgZ29pbmcgdG8gYmUgaW4gY2hh
cmdlIGZvcgphdHRhY2hpbmcgWGVuIHNwZWNpZmljIGRldmljZXMuCi0tLQogc3lzL2NvbmYvZmls
ZXMuYW1kNjQgICAgICAgICAgfCAgICAxICsKIHN5cy9jb25mL2ZpbGVzLmkzODYgICAgICAgICAg
IHwgICAgMSArCiBzeXMvZGV2L3hlbi9jb25zb2xlL2NvbnNvbGUuYyB8ICAgIDIgKy0KIHN5cy9k
ZXYveGVuL3RpbWVyL3RpbWVyLmMgICAgIHwgICAgNCArLQogc3lzL2Rldi94ZW4veGVucGNpL3hl
bnBjaS5jICAgfCAgIDY0ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBzeXMv
eDg2L3hlbi94ZW5fbmV4dXMuYyAgICAgICB8ICAgNzYgKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysKIHN5cy94ZW4veGVuc3RvcmUveGVuc3RvcmUuYyAgIHwgICAgNiAr
LS0tCiA3IGZpbGVzIGNoYW5nZWQsIDg1IGluc2VydGlvbnMoKyksIDY5IGRlbGV0aW9ucygtKQog
Y3JlYXRlIG1vZGUgMTAwNjQ0IHN5cy94ODYveGVuL3hlbl9uZXh1cy5jCgpkaWZmIC0tZ2l0IGEv
c3lzL2NvbmYvZmlsZXMuYW1kNjQgYi9zeXMvY29uZi9maWxlcy5hbWQ2NAppbmRleCBkN2M5OGNj
Li5mMzc4OTgzIDEwMDY0NAotLS0gYS9zeXMvY29uZi9maWxlcy5hbWQ2NAorKysgYi9zeXMvY29u
Zi9maWxlcy5hbWQ2NApAQCAtNTcxLDMgKzU3MSw0IEBAIHg4Ni94ZW4veGVuX2ludHIuYwkJb3B0
aW9uYWwJeGVuIHwgeGVuaHZtCiB4ODYveGVuL3B2LmMJCQlvcHRpb25hbAl4ZW5odm0KIHg4Ni94
ZW4vcHZjcHVfZW51bS5jCQlvcHRpb25hbAl4ZW5odm0KIHg4Ni94ZW4veGVucHYuYwkJCW9wdGlv
bmFsCXhlbmh2bQoreDg2L3hlbi94ZW5fbmV4dXMuYwkJb3B0aW9uYWwJeGVuaHZtCmRpZmYgLS1n
aXQgYS9zeXMvY29uZi9maWxlcy5pMzg2IGIvc3lzL2NvbmYvZmlsZXMuaTM4NgppbmRleCA4MTE0
MmUzLi4wMjg4N2EzMyAxMDA2NDQKLS0tIGEvc3lzL2NvbmYvZmlsZXMuaTM4NgorKysgYi9zeXMv
Y29uZi9maWxlcy5pMzg2CkBAIC02MDQsMyArNjA0LDQgQEAgeDg2L3g4Ni9kZWxheS5jCQkJc3Rh
bmRhcmQKIHg4Ni94ZW4vaHZtLmMJCQlvcHRpb25hbCB4ZW5odm0KIHg4Ni94ZW4veGVuX2ludHIu
YwkJb3B0aW9uYWwgeGVuIHwgeGVuaHZtCiB4ODYveGVuL3hlbnB2LmMJCQlvcHRpb25hbCB4ZW4g
fCB4ZW5odm0KK3g4Ni94ZW4veGVuX25leHVzLmMJCW9wdGlvbmFsIHhlbiB8IHhlbmh2bQpkaWZm
IC0tZ2l0IGEvc3lzL2Rldi94ZW4vY29uc29sZS9jb25zb2xlLmMgYi9zeXMvZGV2L3hlbi9jb25z
b2xlL2NvbnNvbGUuYwppbmRleCA4OTlkZmZjLi45MTUzOGZlIDEwMDY0NAotLS0gYS9zeXMvZGV2
L3hlbi9jb25zb2xlL2NvbnNvbGUuYworKysgYi9zeXMvZGV2L3hlbi9jb25zb2xlL2NvbnNvbGUu
YwpAQCAtNDYyLDQgKzQ2Miw0IEBAIHhjb25zX2ZvcmNlX2ZsdXNoKHZvaWQpCiAJfQogfQogCi1E
UklWRVJfTU9EVUxFKHhjLCBuZXh1cywgeGNfZHJpdmVyLCB4Y19kZXZjbGFzcywgMCwgMCk7CitE
UklWRVJfTU9EVUxFKHhjLCB4ZW5wdiwgeGNfZHJpdmVyLCB4Y19kZXZjbGFzcywgMCwgMCk7CmRp
ZmYgLS1naXQgYS9zeXMvZGV2L3hlbi90aW1lci90aW1lci5jIGIvc3lzL2Rldi94ZW4vdGltZXIv
dGltZXIuYwppbmRleCA5NjM3MmFiLi5mMTZmNWE1IDEwMDY0NAotLS0gYS9zeXMvZGV2L3hlbi90
aW1lci90aW1lci5jCisrKyBiL3N5cy9kZXYveGVuL3RpbWVyL3RpbWVyLmMKQEAgLTYzNiw1ICs2
MzYsNSBAQCBzdGF0aWMgZHJpdmVyX3QgeGVudGltZXJfZHJpdmVyID0gewogCXNpemVvZihzdHJ1
Y3QgeGVudGltZXJfc29mdGMpLAogfTsKIAotRFJJVkVSX01PRFVMRSh4ZW50aW1lciwgbmV4dXMs
IHhlbnRpbWVyX2RyaXZlciwgeGVudGltZXJfZGV2Y2xhc3MsIDAsIDApOwotTU9EVUxFX0RFUEVO
RCh4ZW50aW1lciwgbmV4dXMsIDEsIDEsIDEpOworRFJJVkVSX01PRFVMRSh4ZW50aW1lciwgeGVu
cHYsIHhlbnRpbWVyX2RyaXZlciwgeGVudGltZXJfZGV2Y2xhc3MsIDAsIDApOworTU9EVUxFX0RF
UEVORCh4ZW50aW1lciwgeGVucHYsIDEsIDEsIDEpOwpkaWZmIC0tZ2l0IGEvc3lzL2Rldi94ZW4v
eGVucGNpL3hlbnBjaS5jIGIvc3lzL2Rldi94ZW4veGVucGNpL3hlbnBjaS5jCmluZGV4IGRkMmFk
OTIuLmUzMzQwNTEgMTAwNjQ0Ci0tLSBhL3N5cy9kZXYveGVuL3hlbnBjaS94ZW5wY2kuYworKysg
Yi9zeXMvZGV2L3hlbi94ZW5wY2kveGVucGNpLmMKQEAgLTUxLDggKzUxLDYgQEAgX19GQlNESUQo
IiRGcmVlQlNEJCIpOwogCiBleHRlcm4gdm9pZCB4ZW5faW50cl9oYW5kbGVfdXBjYWxsKHN0cnVj
dCB0cmFwZnJhbWUgKnRyYXBfZnJhbWUpOwogCi1zdGF0aWMgZGV2aWNlX3QgbmV4dXM7Ci0KIC8q
CiAgKiBUaGlzIGlzIHVzZWQgdG8gZmluZCBvdXIgcGxhdGZvcm0gZGV2aWNlIGluc3RhbmNlLgog
ICovCkBAIC0xODgsMzYgKzE4Niw2IEBAIHhlbnBjaV9hbGxvY19zcGFjZShzaXplX3Qgc3osIHZt
X3BhZGRyX3QgKnBhKQogCX0KIH0KIAotc3RhdGljIHN0cnVjdCByZXNvdXJjZSAqCi14ZW5wY2lf
YWxsb2NfcmVzb3VyY2UoZGV2aWNlX3QgZGV2LCBkZXZpY2VfdCBjaGlsZCwgaW50IHR5cGUsIGlu
dCAqcmlkLAotICAgIHVfbG9uZyBzdGFydCwgdV9sb25nIGVuZCwgdV9sb25nIGNvdW50LCB1X2lu
dCBmbGFncykKLXsKLQlyZXR1cm4gKEJVU19BTExPQ19SRVNPVVJDRShuZXh1cywgY2hpbGQsIHR5
cGUsIHJpZCwgc3RhcnQsCi0JICAgIGVuZCwgY291bnQsIGZsYWdzKSk7Ci19Ci0KLQotc3RhdGlj
IGludAoteGVucGNpX3JlbGVhc2VfcmVzb3VyY2UoZGV2aWNlX3QgZGV2LCBkZXZpY2VfdCBjaGls
ZCwgaW50IHR5cGUsIGludCByaWQsCi0gICAgc3RydWN0IHJlc291cmNlICpyKQotewotCXJldHVy
biAoQlVTX1JFTEVBU0VfUkVTT1VSQ0UobmV4dXMsIGNoaWxkLCB0eXBlLCByaWQsIHIpKTsKLX0K
LQotc3RhdGljIGludAoteGVucGNpX2FjdGl2YXRlX3Jlc291cmNlKGRldmljZV90IGRldiwgZGV2
aWNlX3QgY2hpbGQsIGludCB0eXBlLCBpbnQgcmlkLAotICAgIHN0cnVjdCByZXNvdXJjZSAqcikK
LXsKLQlyZXR1cm4gKEJVU19BQ1RJVkFURV9SRVNPVVJDRShuZXh1cywgY2hpbGQsIHR5cGUsIHJp
ZCwgcikpOwotfQotCi1zdGF0aWMgaW50Ci14ZW5wY2lfZGVhY3RpdmF0ZV9yZXNvdXJjZShkZXZp
Y2VfdCBkZXYsIGRldmljZV90IGNoaWxkLCBpbnQgdHlwZSwKLSAgICBpbnQgcmlkLCBzdHJ1Y3Qg
cmVzb3VyY2UgKnIpCi17Ci0JcmV0dXJuIChCVVNfREVBQ1RJVkFURV9SRVNPVVJDRShuZXh1cywg
Y2hpbGQsIHR5cGUsIHJpZCwgcikpOwotfQotCiAvKgogICogUHJvYmUgLSBqdXN0IGNoZWNrIGRl
dmljZSBJRC4KICAqLwpAQCAtMjI5LDcgKzE5Nyw3IEBAIHhlbnBjaV9wcm9iZShkZXZpY2VfdCBk
ZXYpCiAJCXJldHVybiAoRU5YSU8pOwogCiAJZGV2aWNlX3NldF9kZXNjKGRldiwgIlhlbiBQbGF0
Zm9ybSBEZXZpY2UiKTsKLQlyZXR1cm4gKGJ1c19nZW5lcmljX3Byb2JlKGRldikpOworCXJldHVy
biAoQlVTX1BST0JFX0RFRkFVTFQpOwogfQogCiAvKgpAQCAtMjM5LDIwICsyMDcsOCBAQCBzdGF0
aWMgaW50CiB4ZW5wY2lfYXR0YWNoKGRldmljZV90IGRldikKIHsKIAlzdHJ1Y3QgeGVucGNpX3Nv
ZnRjICpzY3AgPSBkZXZpY2VfZ2V0X3NvZnRjKGRldik7Ci0JZGV2Y2xhc3NfdCBkYzsKIAlpbnQg
ZXJyb3I7CiAKLQkvKgotCSAqIEZpbmQgYW5kIHJlY29yZCBuZXh1czAuICBTaW5jZSB3ZSBhcmUg
bm90IHJlYWxseSBvbiB0aGUKLQkgKiBQQ0kgYnVzLCBhbGwgcmVzb3VyY2Ugb3BlcmF0aW9ucyBh
cmUgZGlyZWN0ZWQgdG8gbmV4dXMKLQkgKiBpbnN0ZWFkIG9mIHRocm91Z2ggb3VyIHBhcmVudC4K
LQkgKi8KLQlpZiAoKGRjID0gZGV2Y2xhc3NfZmluZCgibmV4dXMiKSkgID09IDAKLQkgfHwgKG5l
eHVzID0gZGV2Y2xhc3NfZ2V0X2RldmljZShkYywgMCkpID09IDApIHsKLQkJZGV2aWNlX3ByaW50
ZihkZXYsICJ1bmFibGUgdG8gZmluZCBuZXh1cy4iKTsKLQkJcmV0dXJuIChFTk9FTlQpOwotCX0K
LQogCWVycm9yID0geGVucGNpX2FsbG9jYXRlX3Jlc291cmNlcyhkZXYpOwogCWlmIChlcnJvcikg
ewogCQlkZXZpY2VfcHJpbnRmKGRldiwgInhlbnBjaV9hbGxvY2F0ZV9yZXNvdXJjZXMgZmFpbGVk
KCVkKS5cbiIsCkBAIC0yNzAsNyArMjI2LDcgQEAgeGVucGNpX2F0dGFjaChkZXZpY2VfdCBkZXYp
CiAJCWdvdG8gZXJyZXhpdDsKIAl9CiAKLQlyZXR1cm4gKGJ1c19nZW5lcmljX2F0dGFjaChkZXYp
KTsKKwlyZXR1cm4gKDApOwogCiBlcnJleGl0OgogCS8qCkBAIC0zMDksMTYgKzI2NSwxMCBAQCB4
ZW5wY2lfZGV0YWNoKGRldmljZV90IGRldikKIH0KIAogc3RhdGljIGludAoteGVucGNpX3N1c3Bl
bmQoZGV2aWNlX3QgZGV2KQotewotCXJldHVybiAoYnVzX2dlbmVyaWNfc3VzcGVuZChkZXYpKTsK
LX0KLQotc3RhdGljIGludAogeGVucGNpX3Jlc3VtZShkZXZpY2VfdCBkZXYpCiB7CiAJeGVuX2h2
bV9zZXRfY2FsbGJhY2soZGV2KTsKLQlyZXR1cm4gKGJ1c19nZW5lcmljX3Jlc3VtZShkZXYpKTsK
KwlyZXR1cm4gKDApOwogfQogCiBzdGF0aWMgZGV2aWNlX21ldGhvZF90IHhlbnBjaV9tZXRob2Rz
W10gPSB7CkBAIC0zMjYsMTYgKzI3Niw4IEBAIHN0YXRpYyBkZXZpY2VfbWV0aG9kX3QgeGVucGNp
X21ldGhvZHNbXSA9IHsKIAlERVZNRVRIT0QoZGV2aWNlX3Byb2JlLAkJeGVucGNpX3Byb2JlKSwK
IAlERVZNRVRIT0QoZGV2aWNlX2F0dGFjaCwJeGVucGNpX2F0dGFjaCksCiAJREVWTUVUSE9EKGRl
dmljZV9kZXRhY2gsCXhlbnBjaV9kZXRhY2gpLAotCURFVk1FVEhPRChkZXZpY2Vfc3VzcGVuZCwJ
eGVucGNpX3N1c3BlbmQpLAogCURFVk1FVEhPRChkZXZpY2VfcmVzdW1lLAl4ZW5wY2lfcmVzdW1l
KSwKIAotCS8qIEJ1cyBpbnRlcmZhY2UgKi8KLQlERVZNRVRIT0QoYnVzX2FkZF9jaGlsZCwJYnVz
X2dlbmVyaWNfYWRkX2NoaWxkKSwKLQlERVZNRVRIT0QoYnVzX2FsbG9jX3Jlc291cmNlLCAgIHhl
bnBjaV9hbGxvY19yZXNvdXJjZSksCi0JREVWTUVUSE9EKGJ1c19yZWxlYXNlX3Jlc291cmNlLCB4
ZW5wY2lfcmVsZWFzZV9yZXNvdXJjZSksCi0JREVWTUVUSE9EKGJ1c19hY3RpdmF0ZV9yZXNvdXJj
ZSwgeGVucGNpX2FjdGl2YXRlX3Jlc291cmNlKSwKLQlERVZNRVRIT0QoYnVzX2RlYWN0aXZhdGVf
cmVzb3VyY2UsIHhlbnBjaV9kZWFjdGl2YXRlX3Jlc291cmNlKSwKLQogCXsgMCwgMCB9CiB9Owog
CmRpZmYgLS1naXQgYS9zeXMveDg2L3hlbi94ZW5fbmV4dXMuYyBiL3N5cy94ODYveGVuL3hlbl9u
ZXh1cy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1YjdjNDMKLS0tIC9k
ZXYvbnVsbAorKysgYi9zeXMveDg2L3hlbi94ZW5fbmV4dXMuYwpAQCAtMCwwICsxLDc2IEBACisv
KgorICogQ29weXJpZ2h0IChjKSAyMDEzIFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRy
aXguY29tPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRSSUJVVE9SUyBBUyBJUycn
IEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPHN5cy9jZGVmcy5o
PgorX19GQlNESUQoIiRGcmVlQlNEJCIpOworCisjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisjaW5j
bHVkZSA8c3lzL2J1cy5oPgorI2luY2x1ZGUgPHN5cy9rZXJuZWwuaD4KKyNpbmNsdWRlIDxzeXMv
bW9kdWxlLmg+CisjaW5jbHVkZSA8c3lzL3N5c2N0bC5oPgorI2luY2x1ZGUgPHN5cy9zeXN0bS5o
PgorI2luY2x1ZGUgPHN5cy9zbXAuaD4KKworI2luY2x1ZGUgPG1hY2hpbmUvbmV4dXN2YXIuaD4K
KworI2luY2x1ZGUgPHhlbi94ZW4tb3MuaD4KKworLyoKKyAqIFhlbiBuZXh1cyg0KSBkcml2ZXIu
CisgKi8KK3N0YXRpYyBpbnQKK25leHVzX3hlbl9wcm9iZShkZXZpY2VfdCBkZXYpCit7CisJaWYg
KCF4ZW5fcHZfZG9tYWluKCkpCisJCXJldHVybiAoRU5YSU8pOworCisJcmV0dXJuIChCVVNfUFJP
QkVfREVGQVVMVCk7Cit9CisKK3N0YXRpYyBpbnQKK25leHVzX3hlbl9hdHRhY2goZGV2aWNlX3Qg
ZGV2KQoreworCisJbmV4dXNfaW5pdF9yZXNvdXJjZXMoKTsKKwlidXNfZ2VuZXJpY19wcm9iZShk
ZXYpOworCWJ1c19nZW5lcmljX2F0dGFjaChkZXYpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRp
YyBkZXZpY2VfbWV0aG9kX3QgbmV4dXNfeGVuX21ldGhvZHNbXSA9IHsKKwkvKiBEZXZpY2UgaW50
ZXJmYWNlICovCisJREVWTUVUSE9EKGRldmljZV9wcm9iZSwJCW5leHVzX3hlbl9wcm9iZSksCisJ
REVWTUVUSE9EKGRldmljZV9hdHRhY2gsCW5leHVzX3hlbl9hdHRhY2gpLAorCisJeyAwLCAwIH0K
K307CisKK0RFRklORV9DTEFTU18xKG5leHVzLCBuZXh1c194ZW5fZHJpdmVyLCBuZXh1c194ZW5f
bWV0aG9kcywgMSwgbmV4dXNfZHJpdmVyKTsKK3N0YXRpYyBkZXZjbGFzc190IG5leHVzX2RldmNs
YXNzOworCitEUklWRVJfTU9EVUxFKG5leHVzX3hlbiwgcm9vdCwgbmV4dXNfeGVuX2RyaXZlciwg
bmV4dXNfZGV2Y2xhc3MsIDAsIDApOwpkaWZmIC0tZ2l0IGEvc3lzL3hlbi94ZW5zdG9yZS94ZW5z
dG9yZS5jIGIvc3lzL3hlbi94ZW5zdG9yZS94ZW5zdG9yZS5jCmluZGV4IGQ0MDQ4NjIuLmI1Y2Y0
MTMgMTAwNjQ0Ci0tLSBhL3N5cy94ZW4veGVuc3RvcmUveGVuc3RvcmUuYworKysgYi9zeXMveGVu
L3hlbnN0b3JlL3hlbnN0b3JlLmMKQEAgLTEyNjEsMTEgKzEyNjEsNyBAQCBzdGF0aWMgZGV2aWNl
X21ldGhvZF90IHhlbnN0b3JlX21ldGhvZHNbXSA9IHsKIERFRklORV9DTEFTU18wKHhlbnN0b3Jl
LCB4ZW5zdG9yZV9kcml2ZXIsIHhlbnN0b3JlX21ldGhvZHMsIDApOwogc3RhdGljIGRldmNsYXNz
X3QgeGVuc3RvcmVfZGV2Y2xhc3M7IAogIAotI2lmZGVmIFhFTkhWTQotRFJJVkVSX01PRFVMRSh4
ZW5zdG9yZSwgeGVucGNpLCB4ZW5zdG9yZV9kcml2ZXIsIHhlbnN0b3JlX2RldmNsYXNzLCAwLCAw
KTsKLSNlbHNlCi1EUklWRVJfTU9EVUxFKHhlbnN0b3JlLCBuZXh1cywgeGVuc3RvcmVfZHJpdmVy
LCB4ZW5zdG9yZV9kZXZjbGFzcywgMCwgMCk7Ci0jZW5kaWYKK0RSSVZFUl9NT0RVTEUoeGVuc3Rv
cmUsIHhlbnB2LCB4ZW5zdG9yZV9kcml2ZXIsIHhlbnN0b3JlX2RldmNsYXNzLCAwLCAwKTsKIAog
LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFN5c2N0bCBEYXRhIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIC8qIFhYWCBTaG91bGRuJ3QgdGhlIG5vZGUgYmUgc29t
ZXdoZXJlIGVsc2U/ICovCi0tIAoxLjcuNy41IChBcHBsZSBHaXQtMjYpCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmcmVlYnNkLWN1cnJlbnRAZnJlZWJz
ZC5vcmcgbWFpbGluZyBsaXN0Cmh0dHA6Ly9saXN0cy5mcmVlYnNkLm9yZy9tYWlsbWFuL2xpc3Rp
bmZvL2ZyZWVic2QtY3VycmVudApUbyB1bnN1YnNjcmliZSwgc2VuZCBhbnkgbWFpbCB0byAiZnJl
ZWJzZC1jdXJyZW50LXVuc3Vic2NyaWJlQGZyZWVic2Qub3JnIg==