From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v3 05/17] x86: add a xpti command line parameter Date: Fri, 9 Feb 2018 15:01:39 +0100 Message-ID: <20180209140151.24714-6-jgross@suse.com> References: <20180209140151.24714-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ek9Ht-00047Q-0j for xen-devel@lists.xenproject.org; Fri, 09 Feb 2018 14:04:25 +0000 In-Reply-To: <20180209140151.24714-1-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , andrew.cooper3@citrix.com, dfaggioli@suse.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org QWRkIGEgY29tbWFuZCBsaW5lIHBhcmFtZXRlciBmb3IgY29udHJvbGxpbmcgWGVuIHBhZ2UgdGFi bGUgaXNvbGF0aW9uCihYUFRJKTogcGVyIGRlZmF1bHQgaXQgaXMgb24gZm9yIG5vbi1BTUQgc3lz dGVtcyBpbiA2NCBiaXQgcHYgZG9tYWlucy4KClBvc3NpYmxlIHNldHRpbmdzIGFyZToKLSB0cnVl OiBzd2l0Y2hlZCBvbiBldmVuIG9uIEFNRCBzeXN0ZW1zCi0gZmFsc2U6IHN3aXRjaGVkIG9mZiBm b3IgYWxsCi0gbm9kb20wOiBzd2l0Y2hlZCBvZmYgZm9yIGRvbTAKCkFzIHdlIGRvbid0IHdhbnQg dG8gc2V0IFhQVEkgZm9yIDMyIGJpdCBwdiBkb21haW5zIHdlIGhhdmUgdG8gZGVsYXkKWFBUSSBp bml0aWFsaXphdGlvbiB1bnRpbCBYRU5fRE9NQ1RMX3NldF9hZGRyZXNzX3NpemUgaGFzIGJlZW4g Y2FsbGVkCmZvciB0aGUgZG9tYWluLiBEb20wIG5lZWRzIGEgc3BlY2lmaWMgaW5pdCBjYWxsLgoK U2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgotLS0KVjM6Ci0g bW92ZSBYUFRJIGluaXRpYWxpemF0aW9uIGNhbGwgdG8gWEVOX0RPTUNUTF9zZXRfYWRkcmVzc19z aXplIGhhbmRsaW5nCi0gbW92ZSBYUFRJIGNvZGUgaW50byBhcmNoL3g4Ni9wdi94cHRpLmMKLSBy ZXBsYWNlIHhwdGkgZmxhZyBpbiBzdHJ1Y3QgZG9tYWluIGJ5IHBvaW50ZXIKLSBhZGQgaXNfKl94 cHRpX2FjdGl2ZSgpIGhlbHBlcnMKLS0tCiBkb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJr ZG93biB8ICAxOCArKysrKysKIHhlbi9hcmNoL3g4Ni9kb21jdGwuYyAgICAgICAgICAgICAgIHwg ICA0ICsrCiB4ZW4vYXJjaC94ODYvcHYvTWFrZWZpbGUgICAgICAgICAgICB8ICAgMSArCiB4ZW4v YXJjaC94ODYvcHYvZG9tMF9idWlsZC5jICAgICAgICB8ICAgMyArCiB4ZW4vYXJjaC94ODYvcHYv ZG9tYWluLmMgICAgICAgICAgICB8ICAgMyArCiB4ZW4vYXJjaC94ODYvcHYveHB0aS5jICAgICAg ICAgICAgICB8IDExMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9p bmNsdWRlL2FzbS14ODYvZG9tYWluLmggICAgICAgIHwgICA0ICsrCiB4ZW4vaW5jbHVkZS9hc20t eDg2L3B2L21tLmggICAgICAgICB8ICAyMCArKysrKysrCiA4IGZpbGVzIGNoYW5nZWQsIDE2NCBp bnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2FyY2gveDg2L3B2L3hwdGkuYwoK ZGlmZiAtLWdpdCBhL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duIGIvZG9jcy9t aXNjL3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24KaW5kZXggNmRmMzlkYWUwYi4uZjk2YmI2MzQy ZCAxMDA2NDQKLS0tIGEvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24KKysrIGIv ZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24KQEAgLTE5MjYsNiArMTkyNiwyNCBA QCBJbiB0aGUgY2FzZSB0aGF0IHgyYXBpYyBpcyBpbiB1c2UsIHRoaXMgb3B0aW9uIHN3aXRjaGVz IGJldHdlZW4gcGh5c2ljYWwgYW5kCiBjbHVzdGVyZWQgbW9kZS4gIFRoZSBkZWZhdWx0LCBnaXZl biBubyBoaW50IGZyb20gdGhlICoqRkFEVCoqLCBpcyBjbHVzdGVyCiBtb2RlLgogCisjIyMgeHB0 aQorPiBgPSBub2RvbTAgfCBkZWZhdWx0IHwgPGJvb2xlYW4+YAorCis+IERlZmF1bHQ6IGBmYWxz ZWAgb24gQU1EIGhhcmR3YXJlLCBgdHJ1ZWAgZXZlcnl3aGVyZSBlbHNlLgorCis+IENhbiBiZSBt b2RpZmllZCBhdCBydW50aW1lCisKK092ZXJyaWRlIGRlZmF1bHQgc2VsZWN0aW9uIG9mIHdoZXRo ZXIgdG8gaXNvbGF0ZSA2NC1iaXQgUFYgZ3Vlc3QgcGFnZQordGFibGVzLgorCitgdHJ1ZWAgYWN0 aXZhdGVzIHBhZ2UgdGFibGUgaXNvbGF0aW9uIGV2ZW4gb24gQU1EIGhhcmR3YXJlLgorCitgZmFs c2VgIGRlYWN0aXZhdGVzIHBhZ2UgdGFibGUgaXNvbGF0aW9uIG9uIGFsbCBzeXN0ZW1zLgorCitg bm9kb20wYCBkZWFjdGl2YXRlcyBwYWdlIHRhYmxlIGlzb2xhdGlvbiBmb3IgZG9tMC4KKworYGRl ZmF1bHRgIHN3aXRjaCB0byBkZWZhdWx0IHNldHRpbmdzLgorCiAjIyMgeHNhdmUKID4gYD0gPGJv b2xlYW4+YAogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMgYi94ZW4vYXJjaC94 ODYvZG9tY3RsLmMKaW5kZXggOGZiYmYzYWViMy4uMGI0NDhlNDExZCAxMDA2NDQKLS0tIGEveGVu L2FyY2gveDg2L2RvbWN0bC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9kb21jdGwuYwpAQCAtMzEsNiAr MzEsNyBAQAogI2luY2x1ZGUgPHhlbi92bV9ldmVudC5oPgogI2luY2x1ZGUgPHB1YmxpYy92bV9l dmVudC5oPgogI2luY2x1ZGUgPGFzbS9tZW1fc2hhcmluZy5oPgorI2luY2x1ZGUgPGFzbS9wdi9t bS5oPgogI2luY2x1ZGUgPGFzbS94c3RhdGUuaD4KICNpbmNsdWRlIDxhc20vZGVidWdnZXIuaD4K ICNpbmNsdWRlIDxhc20vcHNyLmg+CkBAIC02MTAsNiArNjExLDkgQEAgbG9uZyBhcmNoX2RvX2Rv bWN0bCgKICAgICAgICAgICAgIHJldCA9IHN3aXRjaF9jb21wYXQoZCk7CiAgICAgICAgIGVsc2UK ICAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7CisKKyAgICAgICAgaWYgKCByZXQgPT0gMCApCisg ICAgICAgICAgICByZXQgPSB4cHRpX2RvbWFpbl9pbml0KGQpOwogICAgICAgICBicmVhazsKIAog ICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfYWRkcmVzc19zaXplOgpkaWZmIC0tZ2l0IGEveGVuL2Fy Y2gveDg2L3B2L01ha2VmaWxlIGIveGVuL2FyY2gveDg2L3B2L01ha2VmaWxlCmluZGV4IDY1YmNh MDQxNzUuLmExMmU0ZmJkMWEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wdi9NYWtlZmlsZQor KysgYi94ZW4vYXJjaC94ODYvcHYvTWFrZWZpbGUKQEAgLTEzLDYgKzEzLDcgQEAgb2JqLXkgKz0g bW0ubwogb2JqLXkgKz0gcm8tcGFnZS1mYXVsdC5vCiBvYmotJChDT05GSUdfUFZfU0hJTSkgKz0g c2hpbS5vCiBvYmoteSArPSB0cmFwcy5vCitvYmoteSArPSB4cHRpLm8KIAogb2JqLWJpbi15ICs9 IGRvbTBfYnVpbGQuaW5pdC5vCiBvYmotYmluLXkgKz0gZ3ByX3N3aXRjaC5vCmRpZmYgLS1naXQg YS94ZW4vYXJjaC94ODYvcHYvZG9tMF9idWlsZC5jIGIveGVuL2FyY2gveDg2L3B2L2RvbTBfYnVp bGQuYwppbmRleCAwYmQyZjFiZjkwLi42ZTdiYzQzNWFiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvcHYvZG9tMF9idWlsZC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wdi9kb20wX2J1aWxkLmMKQEAg LTcwNyw2ICs3MDcsOSBAQCBpbnQgX19pbml0IGRvbTBfY29uc3RydWN0X3B2KHN0cnVjdCBkb21h aW4gKmQsCiAgICAgICAgICAgICBjcHUgPSBwLT5wcm9jZXNzb3I7CiAgICAgfQogCisgICAgaWYg KCAhaXNfcHZfMzJiaXRfZG9tYWluKGQpICkKKyAgICAgICAgeHB0aV9kb21haW5faW5pdChkKTsK KwogICAgIGQtPmFyY2gucGFnaW5nLm1vZGUgPSAwOwogCiAgICAgLyogU2V0IHVwIENSMyB2YWx1 ZSBmb3Igd3JpdGVfcHRiYXNlICovCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHYvZG9tYWlu LmMgYi94ZW4vYXJjaC94ODYvcHYvZG9tYWluLmMKaW5kZXggMmM3ODRmYjNjYy4uYTAwN2FmOTRk ZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jCisrKyBiL3hlbi9hcmNoL3g4 Ni9wdi9kb21haW4uYwpAQCAtMTAsNiArMTAsNyBAQAogI2luY2x1ZGUgPHhlbi9zY2hlZC5oPgog CiAjaW5jbHVkZSA8YXNtL3B2L2RvbWFpbi5oPgorI2luY2x1ZGUgPGFzbS9wdi9tbS5oPgogCiAv KiBPdmVycmlkZSBtYWNyb3MgZnJvbSBhc20vcGFnZS5oIHRvIG1ha2UgdGhlbSB3b3JrIHdpdGgg bWZuX3QgKi8KICN1bmRlZiBtZm5fdG9fcGFnZQpAQCAtMTc0LDYgKzE3NSw4IEBAIHZvaWQgcHZf ZG9tYWluX2Rlc3Ryb3koc3RydWN0IGRvbWFpbiAqZCkKIAogICAgIGZyZWVfeGVuaGVhcF9wYWdl KGQtPmFyY2gucHZfZG9tYWluLmdkdF9sZHRfbDF0YWIpOwogICAgIGQtPmFyY2gucHZfZG9tYWlu LmdkdF9sZHRfbDF0YWIgPSBOVUxMOworCisgICAgeHB0aV9kb21haW5fZGVzdHJveShkKTsKIH0K IAogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHYveHB0aS5jIGIveGVuL2FyY2gveDg2L3B2 L3hwdGkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi4wYjE3ZDc3ZDc0 Ci0tLSAvZGV2L251bGwKKysrIGIveGVuL2FyY2gveDg2L3B2L3hwdGkuYwpAQCAtMCwwICsxLDEx MSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogYXJjaC94ODYvbW0veHB0aS5jCisgKgor ICogWGVuIFBhZ2UgVGFibGUgSXNvbGF0aW9uIHN1cHBvcnQuCisgKgorICogQ29weXJpZ2h0IChj KSAyMDE4IFNVU0UgTGludXggR21iSCAoSnVlcmdlbiBHcm9zcykKKyAqCisgKiBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK KyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uCisgKi8KKworI2luY2x1ZGUgPHhlbi9lcnJuby5oPgorI2luY2x1ZGUg PHhlbi9pbml0Lmg+CisjaW5jbHVkZSA8eGVuL2xpYi5oPgorI2luY2x1ZGUgPHhlbi9zY2hlZC5o PgorCitzdHJ1Y3QgeHB0aV9kb21haW4geworICAgIGludCBwYWQ7Cit9OworCitzdGF0aWMgX19y ZWFkX21vc3RseSBlbnVtIHsKKyAgICBYUFRJX0RFRkFVTFQsCisgICAgWFBUSV9PTiwKKyAgICBY UFRJX09GRiwKKyAgICBYUFRJX05PRE9NMAorfSBvcHRfeHB0aSA9IFhQVElfREVGQVVMVDsKKwor c3RhdGljIGludCBwYXJzZV94cHRpKGNvbnN0IGNoYXIgKnMpCit7CisgICAgaW50IHJjID0gMDsK KworICAgIHN3aXRjaCAoIHBhcnNlX2Jvb2wocywgTlVMTCkgKQorICAgIHsKKyAgICBjYXNlIDA6 CisgICAgICAgIG9wdF94cHRpID0gWFBUSV9PRkY7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug MToKKyAgICAgICAgb3B0X3hwdGkgPSBYUFRJX09OOworICAgICAgICBicmVhazsKKyAgICBkZWZh dWx0OgorICAgICAgICBpZiAoICFzdHJjbXAocywgImRlZmF1bHQiKSApCisgICAgICAgICAgICBv cHRfeHB0aSA9IFhQVElfREVGQVVMVDsKKyAgICAgICAgZWxzZSBpZiAoICFzdHJjbXAocywgIm5v ZG9tMCIpICkKKyAgICAgICAgICAgIG9wdF94cHRpID0gWFBUSV9OT0RPTTA7CisgICAgICAgIGVs c2UKKyAgICAgICAgICAgIHJjID0gLUVJTlZBTDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisg ICAgcmV0dXJuIHJjOworfQorCitjdXN0b21fcnVudGltZV9wYXJhbSgieHB0aSIsIHBhcnNlX3hw dGkpOworCit2b2lkIHhwdGlfZG9tYWluX2Rlc3Ryb3koc3RydWN0IGRvbWFpbiAqZCkKK3sKKyAg ICB4ZnJlZShkLT5hcmNoLnB2X2RvbWFpbi54cHRpKTsKKyAgICBkLT5hcmNoLnB2X2RvbWFpbi54 cHRpID0gTlVMTDsKK30KKworaW50IHhwdGlfZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbiAqZCkK K3sKKyAgICBib29sIHhwdGkgPSBmYWxzZTsKKyAgICBpbnQgcmV0ID0gMDsKKworICAgIGlmICgg IWlzX3B2X2RvbWFpbihkKSB8fCBpc19wdl8zMmJpdF9kb21haW4oZCkgKQorICAgICAgICByZXR1 cm4gMDsKKworICAgIHN3aXRjaCAoIG9wdF94cHRpICkKKyAgICB7CisgICAgY2FzZSBYUFRJX09G RjoKKyAgICAgICAgeHB0aSA9IGZhbHNlOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFhQVElf T046CisgICAgICAgIHhwdGkgPSB0cnVlOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFhQVElf Tk9ET00wOgorICAgICAgICB4cHRpID0gYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yICE9IFg4Nl9W RU5ET1JfQU1EICYmCisgICAgICAgICAgICAgICBkLT5kb21haW5faWQgIT0gMCAmJiBkLT5kb21h aW5faWQgIT0gaGFyZHdhcmVfZG9taWQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgWFBUSV9E RUZBVUxUOgorICAgICAgICB4cHRpID0gYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yICE9IFg4Nl9W RU5ET1JfQU1EOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBpZiAoICF4cHRpICkKKyAg ICAgICAgcmV0dXJuIDA7CisKKyAgICBkLT5hcmNoLnB2X2RvbWFpbi54cHRpID0geG1hbGxvYyhz dHJ1Y3QgeHB0aV9kb21haW4pOworICAgIGlmICggIWQtPmFyY2gucHZfZG9tYWluLnhwdGkgKQor ICAgIHsKKyAgICAgICAgcmV0ID0gLUVOT01FTTsKKyAgICAgICAgZ290byBkb25lOworICAgIH0K KworICAgIHByaW50aygiRW5hYmxpbmcgWGVuIFBhZ2V0YWJsZSBwcm90ZWN0aW9uIChYUFRJKSBm b3IgRG9tYWluICVkXG4iLAorICAgICAgICAgICBkLT5kb21haW5faWQpOworCisgZG9uZToKKyAg ICByZXR1cm4gcmV0OworfQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4u aCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgKaW5kZXggNDY3OWQ1NDc3ZC4uYjMzYzI4 NjgwNyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaAorKysgYi94ZW4v aW5jbHVkZS9hc20teDg2L2RvbWFpbi5oCkBAIC0yNDcsNiArMjQ3LDggQEAgc3RydWN0IHRpbWVf c2NhbGUgewogICAgIHUzMiBtdWxfZnJhYzsKIH07CiAKK3N0cnVjdCB4cHRpX2RvbWFpbjsKKwog c3RydWN0IHB2X2RvbWFpbgogewogICAgIGwxX3BnZW50cnlfdCAqKmdkdF9sZHRfbDF0YWI7CkBA IC0yNTcsNiArMjU5LDggQEAgc3RydWN0IHB2X2RvbWFpbgogICAgIHN0cnVjdCBtYXBjYWNoZV9k b21haW4gbWFwY2FjaGU7CiAKICAgICBzdHJ1Y3QgY3B1aWRtYXNrcyAqY3B1aWRtYXNrczsKKwor ICAgIHN0cnVjdCB4cHRpX2RvbWFpbiAqeHB0aTsKIH07CiAKIHN0cnVjdCBtb25pdG9yX3dyaXRl X2RhdGEgewpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wdi9tbS5oIGIveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9wdi9tbS5oCmluZGV4IDI0NmI5OTAxNGMuLmRmYWM4OWRmMGIgMTAwNjQ0 Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcHYvbW0uaAorKysgYi94ZW4vaW5jbHVkZS9hc20t eDg2L3B2L21tLmgKQEAgLTMxLDYgKzMxLDE5IEBAIHZvaWQgcHZfZGVzdHJveV9nZHQoc3RydWN0 IHZjcHUgKnYpOwogYm9vbCBwdl9tYXBfbGR0X3NoYWRvd19wYWdlKHVuc2lnbmVkIGludCBvZmYp OwogYm9vbCBwdl9kZXN0cm95X2xkdChzdHJ1Y3QgdmNwdSAqdik7CiAKK2ludCB4cHRpX2RvbWFp bl9pbml0KHN0cnVjdCBkb21haW4gKmQpOwordm9pZCB4cHRpX2RvbWFpbl9kZXN0cm95KHN0cnVj dCBkb21haW4gKmQpOworCitzdGF0aWMgaW5saW5lIGJvb2wgaXNfZG9tYWluX3hwdGlfYWN0aXZl KGNvbnN0IHN0cnVjdCBkb21haW4gKmQpCit7CisgICAgcmV0dXJuIGlzX3B2X2RvbWFpbihkKSAm JiBkLT5hcmNoLnB2X2RvbWFpbi54cHRpOworfQorCitzdGF0aWMgaW5saW5lIGJvb2wgaXNfdmNw dV94cHRpX2FjdGl2ZShjb25zdCBzdHJ1Y3QgdmNwdSAqdikKK3sKKyAgICByZXR1cm4gaXNfZG9t YWluX3hwdGlfYWN0aXZlKHYtPmRvbWFpbik7Cit9CisKICNlbHNlCiAKICNpbmNsdWRlIDx4ZW4v ZXJybm8uaD4KQEAgLTUyLDYgKzY1LDEzIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBwdl9tYXBfbGR0 X3NoYWRvd19wYWdlKHVuc2lnbmVkIGludCBvZmYpIHsgcmV0dXJuIGZhbHNlOyB9CiBzdGF0aWMg aW5saW5lIGJvb2wgcHZfZGVzdHJveV9sZHQoc3RydWN0IHZjcHUgKnYpCiB7IEFTU0VSVF9VTlJF QUNIQUJMRSgpOyByZXR1cm4gZmFsc2U7IH0KIAorc3RhdGljIGlubGluZSBpbnQgeHB0aV9kb21h aW5faW5pdChzdHJ1Y3QgZG9tYWluICpkKSB7IHJldHVybiAwOyB9CitzdGF0aWMgaW5saW5lIHZv aWQgeHB0aV9kb21haW5fZGVzdHJveShzdHJ1Y3QgZG9tYWluICpkKSB7IH0KKworc3RhdGljIGlu bGluZSBib29sIGlzX2RvbWFpbl94cHRpX2FjdGl2ZShjb25zdCBzdHJ1Y3QgZG9tYWluICpkKQor eyByZXR1cm4gZmFsc2U7IH0KK3N0YXRpYyBpbmxpbmUgYm9vbCBpc192Y3B1X3hwdGlfYWN0aXZl KGNvbnN0IHN0cnVjdCB2Y3B1ICp2KSB7IHJldHVybiBmYWxzZTsgfQorCiAjZW5kaWYKIAogI2Vu ZGlmIC8qIF9fWDg2X1BWX01NX0hfXyAqLwotLSAKMi4xMy42CgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9t YWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==