From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v2 07/13] libx86: Introduce a helper to serialise cpuid_policy objects Date: Fri, 13 Jul 2018 21:03:08 +0100 Message-ID: <1531512194-6865-8-git-send-email-andrew.cooper3@citrix.com> References: <1531512194-6865-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1531512194-6865-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Sergey Dyasli , Wei Liu , Andrew Cooper , Ian Jackson , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org VGhlIHNlcmlhbGlzZWQgZm9ybSBpcyBtYWRlIHVwIG9mIHRoZSBsZWFmLCBzdWJsZWFmIGFuZCBk YXRhIHR1cGxlLiAgQXMgdGhpcwppcyB0aGUgYXJjaGl0ZWN0dXJhbCBmb3JtLCBpdCBpcyBleHBl Y3RlZCBub3QgdG8gY2hhbmdlIGdvaW5nIGZvcndhcmRzLgoKVGhlIHNlcmlhbGlzYXRpb24gb2Yg dGhlIFhlbi9WaXJpZGlhbiBsZWF2ZXMgaXNuJ3QgZnVsbHkgaW1wbGVtZW50ZWQgeWV0LiAgSXQK aXMganVzdCBlbm91Z2ggdG8gYmUgYnVnLWNvbXBhdGlibGUgd2l0aCB0aGUgY3VycmVudCBET01D VExfc2V0X2NwdWlkCmJlaGF2aW91ciwgYnV0IG5lZWRzIGZ1cnRoZXIgaHlwZXJ2aXNvciB3b3Jr IGJlZm9yZSB0aGUgdG9vbHN0YWNrIGNhbiBzZW5zaWJseQpjb250cm9sIHRoZXNlIHZhbHVlcy4K Cng4Nl9jcHVpZF9jb3B5X3RvX2J1ZmZlcigpIGlzIGltcGxlbWVudGVkIHVzaW5nIFhlbidzIHJl Z3VsYXIgY29weV90b19ndWVzdApwcmltaXRpdmVzLCB3aXRoIGFuIEFQSS1jb21wYXRpYmxlIG1l bWNweSgpIGlzIHVzZWQgZm9yIHRoZSBsaWJ4YyBoYWxmIG9mIHRoZQpidWlsZC4KClNpZ25lZC1v ZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClNpZ25lZC1v ZmYtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpTaWduZWQtb2Zm LWJ5OiBTZXJnZXkgRHlhc2xpIDxzZXJnZXkuZHlhc2xpQGNpdHJpeC5jb20+Ci0tLQpDQzogSmFu IEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgpDQzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4 LmNvbT4KQ0M6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpDQzogU2Vy Z2V5IER5YXNsaSA8c2VyZ2V5LmR5YXNsaUBjaXRyaXguY29tPgpDQzogSWFuIEphY2tzb24gPElh bi5KYWNrc29uQGV1LmNpdHJpeC5jb20+Cgp2MjoKICogTW92ZSBNSU4oKSBpbnRvIHhlbi10b29s cy9saWJzLmguCiAqIExlYXZlIGEgVE9ETyBmb3IgdGhlIFhlbi9WaXJpZGlhbiBsZWFmIGluZnJh c3RydWN0dXJlLCBhbmQgdXBkYXRlIHRoZQogICBjb21taXQgbWVzc2FnZS4KICogUmV3cml0ZSBj b3B5X3RvX2J1ZmZlcl9vZmZzZXQoKSB0byBhdm9pZCBtdWx0aXBsZSBldmFsdWF0aW9uIG9mIGl0 cwogICBwYXJhbWV0ZXJzLgogKiBDaGFuZ2UgdG8gYW4gYXJyYXkgdHlwZWRlZiBmb3IgY29uc3Ru ZXNzIHJlYXNvbnMKLS0tCiB0b29scy9pbmNsdWRlL3hlbi10b29scy9saWJzLmggICAgfCAgNCAr KwogdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2NvcmUuaCAgIHwgIDIgLQogeGVuL2NvbW1vbi9s aWJ4ODYvY3B1aWQuYyAgICAgICAgIHwgOTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiB4ZW4vY29tbW9uL2xpYng4Ni9wcml2YXRlLmggICAgICAgfCAxOCArKysrKysr KwogeGVuL2luY2x1ZGUvcHVibGljL2FyY2gteDg2L3hlbi5oIHwgMTEgKysrKysKIHhlbi9pbmNs dWRlL3hlbi9saWJ4ODYvY3B1aWQuaCAgICB8IDMwICsrKysrKysrKysrKysKIDYgZmlsZXMgY2hh bmdlZCwgMTUzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9v bHMvaW5jbHVkZS94ZW4tdG9vbHMvbGlicy5oIGIvdG9vbHMvaW5jbHVkZS94ZW4tdG9vbHMvbGli cy5oCmluZGV4IGY3OGEzYjUuLjkyN2UwNTcgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2luY2x1ZGUveGVu LXRvb2xzL2xpYnMuaAorKysgYi90b29scy9pbmNsdWRlL3hlbi10b29scy9saWJzLmgKQEAgLTE3 LDQgKzE3LDggQEAKICNkZWZpbmUgTUFYKHgsIHkpICgoeCkgPiAoeSkgPyAoeCkgOiAoeSkpCiAj ZW5kaWYKIAorI2lmbmRlZiBNSU4KKyNkZWZpbmUgTUlOKHgsIHkpICgoeCkgPCAoeSkgPyAoeCkg OiAoeSkpCisjZW5kaWYKKwogI2VuZGlmCS8qIF9fWEVOX1RPT0xTX0xJQlNfXyAqLwpkaWZmIC0t Z2l0IGEvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2NvcmUuaCBiL3Rvb2xzL3hlbnN0b3JlL3hl bnN0b3JlZF9jb3JlLmgKaW5kZXggM2Q3ZWI5MS4uM2QyN2ZlYiAxMDA2NDQKLS0tIGEvdG9vbHMv eGVuc3RvcmUveGVuc3RvcmVkX2NvcmUuaAorKysgYi90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRf Y29yZS5oCkBAIC0zNyw4ICszNyw2IEBACiAvKiBERUZBVUxUX0JVRkZFUl9TSVpFIHNob3VsZCBi ZSBsYXJnZSBlbm91Z2ggZm9yIGVhY2ggZXJybm8gc3RyaW5nLiAqLwogI2RlZmluZSBERUZBVUxU X0JVRkZFUl9TSVpFIDE2CiAKLSNkZWZpbmUgTUlOKGEsIGIpICgoKGEpIDwgKGIpKT8gKGEpIDog KGIpKQotCiB0eXBlZGVmIGludDMyX3Qgd3JsX2NyZWRpdHQ7CiAjZGVmaW5lIFdSTF9DUkVESVRf TUFYICgxMDAwKjEwMDAqMTAwMCkKIC8qIF4gc2F0aXNmaWVzIG5vbi1vdmVyZmxvdyBjb25kaXRp b24gZm9yIHdybF94ZmVyX2NyZWRpdCAqLwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9saWJ4ODYv Y3B1aWQuYyBiL3hlbi9jb21tb24vbGlieDg2L2NwdWlkLmMKaW5kZXggMGY0OTdkNC4uY2Y3ZGJk MyAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9saWJ4ODYvY3B1aWQuYworKysgYi94ZW4vY29tbW9u L2xpYng4Ni9jcHVpZC5jCkBAIC0zNCw2ICszNCw5NiBAQCBjb25zdCB1aW50MzJfdCAqeDg2X2Nw dWlkX2xvb2t1cF9kZWVwX2RlcHModWludDMyX3QgZmVhdHVyZSkKIH0KIAogLyoKKyAqIENvcHkg YSBzaW5nbGUgY3B1aWRfbGVhZiBpbnRvIGEgcHJvdmlkZWQgeGVuX2NwdWlkX2xlYWZfdCBidWZm ZXIsCisgKiBwZXJmb3JtaW5nIGJvdW5kYXJ5IGNoZWNraW5nIGFnYWluc3QgdGhlIGJ1ZmZlciBz aXplLgorICovCitzdGF0aWMgaW50IGNvcHlfbGVhZl90b19idWZmZXIodWludDMyX3QgbGVhZiwg dWludDMyX3Qgc3VibGVhZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz dHJ1Y3QgY3B1aWRfbGVhZiAqZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj cHVpZF9sZWFmX2J1ZmZlcl90IGxlYXZlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50MzJfdCAqY3Vycl9lbnRyeSwgY29uc3QgdWludDMyX3QgbnJfZW50cmllcykKK3sKKyAg ICBjb25zdCB4ZW5fY3B1aWRfbGVhZl90IHZhbCA9IHsKKyAgICAgICAgbGVhZiwgc3VibGVhZiwg ZGF0YS0+YSwgZGF0YS0+YiwgZGF0YS0+YywgZGF0YS0+ZCwKKyAgICB9OworCisgICAgaWYgKCAq Y3Vycl9lbnRyeSA9PSBucl9lbnRyaWVzICkKKyAgICAgICAgcmV0dXJuIC1FTk9CVUZTOworCisg ICAgaWYgKCBjb3B5X3RvX2J1ZmZlcl9vZmZzZXQobGVhdmVzLCAqY3Vycl9lbnRyeSwgJnZhbCwg MSkgKQorICAgICAgICByZXR1cm4gLUVGQVVMVDsKKworICAgICsrKmN1cnJfZW50cnk7CisKKyAg ICByZXR1cm4gMDsKK30KKworaW50IHg4Nl9jcHVpZF9jb3B5X3RvX2J1ZmZlcihjb25zdCBzdHJ1 Y3QgY3B1aWRfcG9saWN5ICpwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcHVpZF9s ZWFmX2J1ZmZlcl90IGxlYXZlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy X3QgKm5yX2VudHJpZXNfcCkKK3sKKyAgICBjb25zdCB1aW50MzJfdCBucl9lbnRyaWVzID0gKm5y X2VudHJpZXNfcDsKKyAgICB1aW50MzJfdCBjdXJyX2VudHJ5ID0gMCwgbGVhZiwgc3VibGVhZjsK KworI2RlZmluZSBDT1BZX0xFQUYobCwgcywgZGF0YSkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCisgICAgKHsgIGludCByZXQ7ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgaWYgKCAocmV0ID0gY29weV9s ZWFmX3RvX2J1ZmZlciggICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAg ICAgICAgbCwgcywgZGF0YSwgbGVhdmVzLCAmY3Vycl9lbnRyeSwgbnJfZW50cmllcykpICkgICBc CisgICAgICAgICAgICByZXR1cm4gcmV0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKKyAgICB9KQorCisgICAgLyogQmFzaWMgbGVhdmVzLiAqLworICAgIGZv ciAoIGxlYWYgPSAwOyBsZWFmIDw9IE1JTihwLT5iYXNpYy5tYXhfbGVhZiwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQVJSQVlfU0laRShwLT5iYXNpYy5yYXcpIC0gMSk7ICsrbGVh ZiApCisgICAgeworICAgICAgICBzd2l0Y2ggKCBsZWFmICkKKyAgICAgICAgeworICAgICAgICBj YXNlIDB4NDoKKyAgICAgICAgICAgIGZvciAoIHN1YmxlYWYgPSAwOyBzdWJsZWFmIDwgQVJSQVlf U0laRShwLT5jYWNoZS5yYXcpOyArK3N1YmxlYWYgKQorICAgICAgICAgICAgICAgIENPUFlfTEVB RihsZWFmLCBzdWJsZWFmLCAmcC0+Y2FjaGUucmF3W3N1YmxlYWZdKTsKKyAgICAgICAgICAgIGJy ZWFrOworCisgICAgICAgIGNhc2UgMHg3OgorICAgICAgICAgICAgZm9yICggc3VibGVhZiA9IDA7 CisgICAgICAgICAgICAgICAgICBzdWJsZWFmIDw9IE1JTihwLT5mZWF0Lm1heF9zdWJsZWFmLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVJSQVlfU0laRShwLT5mZWF0LnJhdykg LSAxKTsgKytzdWJsZWFmICkKKyAgICAgICAgICAgICAgICBDT1BZX0xFQUYobGVhZiwgc3VibGVh ZiwgJnAtPmZlYXQucmF3W3N1YmxlYWZdKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAg IGNhc2UgMHhiOgorICAgICAgICAgICAgZm9yICggc3VibGVhZiA9IDA7IHN1YmxlYWYgPCBBUlJB WV9TSVpFKHAtPnRvcG8ucmF3KTsgKytzdWJsZWFmICkKKyAgICAgICAgICAgICAgICBDT1BZX0xF QUYobGVhZiwgc3VibGVhZiwgJnAtPnRvcG8ucmF3W3N1YmxlYWZdKTsKKyAgICAgICAgICAgIGJy ZWFrOworCisgICAgICAgIGNhc2UgMHhkOgorICAgICAgICAgICAgZm9yICggc3VibGVhZiA9IDA7 IHN1YmxlYWYgPCBBUlJBWV9TSVpFKHAtPnhzdGF0ZS5yYXcpOyArK3N1YmxlYWYgKQorICAgICAg ICAgICAgICAgIENPUFlfTEVBRihsZWFmLCBzdWJsZWFmLCAmcC0+eHN0YXRlLnJhd1tzdWJsZWFm XSk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAg Q09QWV9MRUFGKGxlYWYsIFhFTl9DUFVJRF9OT19TVUJMRUFGLCAmcC0+YmFzaWMucmF3W2xlYWZd KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgLyogVE9ETzog UG9ydCBYZW4gYW5kIFZpcmlkaWFuIGxlYXZlcyB0byB0aGUgbmV3IENQVUlEIGluZnJhc3RydWN0 dXJlLiAqLworICAgIENPUFlfTEVBRigweDQwMDAwMDAwLCBYRU5fQ1BVSURfTk9fU1VCTEVBRiwK KyAgICAgICAgICAgICAgJihzdHJ1Y3QgY3B1aWRfbGVhZil7IHAtPmh2X2xpbWl0IH0pOworICAg IENPUFlfTEVBRigweDQwMDAwMTAwLCBYRU5fQ1BVSURfTk9fU1VCTEVBRiwKKyAgICAgICAgICAg ICAgJihzdHJ1Y3QgY3B1aWRfbGVhZil7IHAtPmh2Ml9saW1pdCB9KTsKKworICAgIC8qIEV4dGVu ZGVkIGxlYXZlcy4gKi8KKyAgICBmb3IgKCBsZWFmID0gMDsgbGVhZiA8PSBNSU4ocC0+ZXh0ZC5t YXhfbGVhZiAmIDB4ZmZmZnVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUlJB WV9TSVpFKHAtPmV4dGQucmF3KSAtIDEpOyArK2xlYWYgKQorICAgICAgICBDT1BZX0xFQUYoMHg4 MDAwMDAwMCB8IGxlYWYsIFhFTl9DUFVJRF9OT19TVUJMRUFGLCAmcC0+ZXh0ZC5yYXdbbGVhZl0p OworCisjdW5kZWYgQ09QWV9MRUFGCisKKyAgICAqbnJfZW50cmllc19wID0gY3Vycl9lbnRyeTsK KworICAgIHJldHVybiAwOworfQorCisvKgogICogTG9jYWwgdmFyaWFibGVzOgogICogbW9kZTog QwogICogYy1maWxlLXN0eWxlOiAiQlNEIgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9saWJ4ODYv cHJpdmF0ZS5oIGIveGVuL2NvbW1vbi9saWJ4ODYvcHJpdmF0ZS5oCmluZGV4IGMyMzRiODUuLjVm NTk5NjEgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vbGlieDg2L3ByaXZhdGUuaAorKysgYi94ZW4v Y29tbW9uL2xpYng4Ni9wcml2YXRlLmgKQEAgLTgsOCArOCwxMyBAQAogI2luY2x1ZGUgPHhlbi9s aWIuaD4KICNpbmNsdWRlIDx4ZW4vdHlwZXMuaD4KIAorI2luY2x1ZGUgPGFzbS9ndWVzdF9hY2Nl c3MuaD4KKworI2RlZmluZSBjb3B5X3RvX2J1ZmZlcl9vZmZzZXQgY29weV90b19ndWVzdF9vZmZz ZXQKKwogI2Vsc2UKIAorI2luY2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8aW50dHlwZXMuaD4K ICNpbmNsdWRlIDxzdGRib29sLmg+CiAjaW5jbHVkZSA8c3RkZGVmLmg+CkBAIC0yMyw2ICsyOCwx OSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgdGVzdF9iaXQodW5zaWduZWQgaW50IGJpdCwgY29uc3Qg dm9pZCAqdmFkZHIpCiAgICAgcmV0dXJuIGFkZHJbYml0IC8gOF0gJiAoMXUgPDwgKGJpdCAlIDgp KTsKIH0KIAorLyogbWVtY3B5KCksIGJ1dCB3aXRoIGNvcHlfdG9fZ3Vlc3Rfb2Zmc2V0KCkncyBB UEkuICovCisjZGVmaW5lIGNvcHlfdG9fYnVmZmVyX29mZnNldChkc3QsIGluZGV4LCBzcmMsIG5y KSAgICAgIFwKKyh7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAorICAgIGNvbnN0IHR5cGVvZigqKGRzdCkpICpzcmNfID0gKHNyYyk7ICAgICAg ICAgICAgICAgICBcCisgICAgdHlwZW9mKCooZHN0KSkgKmRzdF8gPSAoZHN0KTsgICAgICAgICAg ICAgICAgICAgICAgIFwKKyAgICB0eXBlb2YoaW5kZXgpIGluZGV4XyA9IChpbmRleCk7ICAgICAg ICAgICAgICAgICAgICAgXAorICAgIHR5cGVvZihucikgbnJfID0gKG5yKSwgaV87ICAgICAgICAg ICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKKyAgICBmb3IgKCBpXyA9IDA7IGlfIDwgKG5yXyk7IGlfKysg KSAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAoZHN0XylbKGluZGV4XykgKyBpX10gPSBz cmNfW2lfXTsgICAgICAgICAgICAgICBcCisgICAgMDsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKK30pCisKICNlbmRpZiAvKiBfX1hFTl9fICovCiAK ICNlbmRpZiAvKiBYRU5fTElCWDg2X1BSSVZBVEVfSCAqLwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1 ZGUvcHVibGljL2FyY2gteDg2L3hlbi5oIGIveGVuL2luY2x1ZGUvcHVibGljL2FyY2gteDg2L3hl bi5oCmluZGV4IDY5ZWU0YmMuLmYzYmRkODMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1Ymxp Yy9hcmNoLXg4Ni94ZW4uaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYveGVuLmgK QEAgLTMxNCw2ICszMTQsMTcgQEAgc3RydWN0IHhlbl9hcmNoX2RvbWFpbmNvbmZpZyB7CiAjZGVm aW5lIFhFTl9BQ1BJX0dQRTBfQ1BVSFBfQklUICAgICAgMgogI2VuZGlmCiAKKy8qCisgKiBSZXBy ZXNlbnRhdGlvbnMgb2YgYXJjaGl0ZWN0dXJhbCBDUFVJRCBpbmZvcm1hdGlvbi4gIFVzZWQgYXMg dGhlCisgKiBzZXJpYWxpc2VkIHZlcnNpb24gb2YgWGVuJ3MgaW50ZXJuYWwgcmVwcmVzZW50YXRp b24uCisgKi8KK3R5cGVkZWYgc3RydWN0IHhlbl9jcHVpZF9sZWFmIHsKKyNkZWZpbmUgWEVOX0NQ VUlEX05PX1NVQkxFQUYgMHhmZmZmZmZmZnUKKyAgICB1aW50MzJfdCBsZWFmLCBzdWJsZWFmOwor ICAgIHVpbnQzMl90IGEsIGIsIGMsIGQ7Cit9IHhlbl9jcHVpZF9sZWFmX3Q7CitERUZJTkVfWEVO X0dVRVNUX0hBTkRMRSh4ZW5fY3B1aWRfbGVhZl90KTsKKwogI2VuZGlmIC8qICFfX0FTU0VNQkxZ X18gKi8KIAogLyoKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9saWJ4ODYvY3B1aWQuaCBi L3hlbi9pbmNsdWRlL3hlbi9saWJ4ODYvY3B1aWQuaAppbmRleCAyMzNmYTEzLi40NjBiMTAyIDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vbGlieDg2L2NwdWlkLmgKKysrIGIveGVuL2luY2x1 ZGUveGVuL2xpYng4Ni9jcHVpZC5oCkBAIC0zMCw2ICszMCwxOSBAQCBzdHJ1Y3QgY3B1aWRfbGVh ZgogI2RlZmluZSBDUFVJRF9HVUVTVF9OUl9FWFREICAgICAgIE1BWChDUFVJRF9HVUVTVF9OUl9F WFREX0lOVEVMLCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENQVUlE X0dVRVNUX05SX0VYVERfQU1EKQogCisvKgorICogTWF4aW11bSBudW1iZXIgb2YgbGVhdmVzIGEg c3RydWN0IGNwdWlkX3BvbGljeSB0dXJucyBpbnRvIHdoZW4gc2VyaWFsaXNlZAorICogZm9yIGlu dGVyYWN0aW9uIHdpdGggdGhlIHRvb2xzdGFjay4gIChTdW0gb2YgYWxsIGxlYXZlcyBpbiBlYWNo IHVuaW9uLCBsZXNzCisgKiB0aGUgZW50cmllcyBpbiBiYXNpYyB3aGljaCBzdWItdW5pb25zIGhh bmcgb2ZmIG9mLikKKyAqLworI2RlZmluZSBDUFVJRF9NQVhfU0VSSUFMSVNFRF9MRUFWRVMgICAg ICAgICAgICAgICAgICAgICBcCisgICAgKENQVUlEX0dVRVNUX05SX0JBU0lDICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgQ1BVSURfR1VFU1RfTlJfRkVBVCAgIC0gISFDUFVJ RF9HVUVTVF9OUl9GRUFUICsgICAgXAorICAgICBDUFVJRF9HVUVTVF9OUl9DQUNIRSAgLSAhIUNQ VUlEX0dVRVNUX05SX0NBQ0hFICsgICBcCisgICAgIENQVUlEX0dVRVNUX05SX1RPUE8gICAtICEh Q1BVSURfR1VFU1RfTlJfVE9QTyArICAgIFwKKyAgICAgQ1BVSURfR1VFU1RfTlJfWFNUQVRFIC0g ISFDUFVJRF9HVUVTVF9OUl9YU1RBVEUgKyAgXAorICAgICBDUFVJRF9HVUVTVF9OUl9FWFREICsg MiAvKiBodl9saW1pdCBhbmQgaHYyX2xpbWl0ICovICkKKwogc3RydWN0IGNwdWlkX3BvbGljeQog ewogI2RlZmluZSBERUNMX0JJVEZJRUxEKHdvcmQpIF9ERUNMX0JJVEZJRUxEKEZFQVRVUkVTRVRf ICMjIHdvcmQpCkBAIC0yMzAsNiArMjQzLDIzIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjcHVpZF9m ZWF0dXJlc2V0X3RvX3BvbGljeSgKIAogY29uc3QgdWludDMyX3QgKng4Nl9jcHVpZF9sb29rdXBf ZGVlcF9kZXBzKHVpbnQzMl90IGZlYXR1cmUpOwogCisjaWZkZWYgX19YRU5fXworI2luY2x1ZGUg PHB1YmxpYy9hcmNoLXg4Ni94ZW4uaD4KK3R5cGVkZWYgWEVOX0dVRVNUX0hBTkRMRV82NCh4ZW5f Y3B1aWRfbGVhZl90KSBjcHVpZF9sZWFmX2J1ZmZlcl90OworI2Vsc2UKKyNpbmNsdWRlIDx4ZW4v YXJjaC14ODYveGVuLmg+Cit0eXBlZGVmIHhlbl9jcHVpZF9sZWFmX3QgY3B1aWRfbGVhZl9idWZm ZXJfdFtdOworI2VuZGlmCisKKy8qCisgKiBTZXJpYWxpc2UgYSBjcHVpZF9wb2xpY3kgb2JqZWN0 IGludG8gYW4gYXJyYXkuICBXcml0ZXMgYXQgbW9zdAorICogQ1BVSURfTUFYX1NFUklBTElTRURf TEVBVkVTLiAgT24gc3VjY2VzcywgbnJfZW50cmllc19wIGlzIHVwZGF0ZWQgd2l0aCB0aGUKKyAq IGFjdHVhbCBudW1iZXIgb2YgbGVhdmVzIHdyaXR0ZW4uCisgKi8KK2ludCB4ODZfY3B1aWRfY29w eV90b19idWZmZXIoY29uc3Qgc3RydWN0IGNwdWlkX3BvbGljeSAqcCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY3B1aWRfbGVhZl9idWZmZXJfdCBsZWF2ZXMsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQzMl90ICpucl9lbnRyaWVzX3ApOworCiAjZW5kaWYgLyogIVhF Tl9MSUJYODZfQ1BVSURfSCAqLwogCiAvKgotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1k ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21h aWxtYW4vbGlzdGluZm8veGVuLWRldmVs