From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH v4 06/41] acpi: probe valid PMEM regions via NFIT Date: Thu, 7 Dec 2017 18:09:55 +0800 Message-ID: <20171207101030.22364-7-haozhong.zhang@intel.com> References: <20171207101030.22364-1-haozhong.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171207101030.22364-1-haozhong.zhang@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Haozhong Zhang , Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Jan Beulich , Chao Peng , Dan Williams List-Id: xen-devel@lists.xenproject.org QSBQTUVNIHJlZ2lvbiB3aXRoIGZhaWx1cmVzIChlLmcuLCBub3QgcHJvcGVybHkgZmx1c2hlZCBp biB0aGUgbGFzdApwb3dlciBjeWNsZSwgb3Igc29tZSBibG9ja3Mgd2l0aGluIGl0IGFyZSBib3Jr ZW4pIGNhbm5vdCBiZSBzYWZlbHkKdXNlZCBieSBYZW4gYW5kIGd1ZXN0LiBTY2FuIHRoZSBzdGF0 ZSBmbGFncyBvZiBOVkRJTU0gcmVnaW9uIG1hcHBpbmcKc3RydWN0dXJlcyBpbiBORklUIHRvIGNo ZWNrIHdoZXRoZXIgYW55IGZhaWx1cmVzIGhhcHBlbmVkIHRvIGEgUE1FTQpyZWdpb24uIFRoZSBy ZWNvdmVyeSBvZiB0aG9zZSBmYWlsdXJlIGFyZSBsZWZ0IG91dCBvZiBYZW4gKGUuZy4gbGVmdAp0 byB0aGUgZmlybXdhcmUgb3Igb3RoZXIgbWFuYWdlbWVudCB1dGlsaXRpZXMgb24gdGhlIGJhcmUg bWV0YWwpLgoKU2lnbmVkLW9mZi1ieTogSGFvemhvbmcgWmhhbmcgPGhhb3pob25nLnpoYW5nQGlu dGVsLmNvbT4KLS0tCkNjOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNjOiBBbmRy ZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpDYzogR2VvcmdlIER1bmxhcCA8 R2VvcmdlLkR1bmxhcEBldS5jaXRyaXguY29tPgpDYzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29u QGV1LmNpdHJpeC5jb20+CkNjOiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9y YWNsZS5jb20+CkNjOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+ CkNjOiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KQ2M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJp eC5jb20+CgpDaGFuZ2VzIGluIHY0OgogKiBTY2FuIG1lbW9yeSBtYXBwaW5nIHRhYmxlcyBmcm9t IFNQQSB0YWJsZXMgaW4gYWNwaV9uZml0X3JlZ2lzdGVyX3BtZW0oKSwKICAgcmF0aGVyIHRoYW4g aW4gdGhlIHJldmVyc2Ugb3JkZXIuCi0tLQogeGVuL2FyY2gveDg2L2FjcGkvYm9vdC5jICB8ICAg NCArKwogeGVuL2RyaXZlcnMvYWNwaS9uZml0LmMgICB8IDE3NiArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystCiB4ZW4vaW5jbHVkZS9hY3BpL2FjdGJsMS5oIHwg IDI2ICsrKysrKysKIHhlbi9pbmNsdWRlL3hlbi9hY3BpLmggICAgfCAgIDEgKwogNCBmaWxlcyBj aGFuZ2VkLCAyMDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3hl bi9hcmNoL3g4Ni9hY3BpL2Jvb3QuYyBiL3hlbi9hcmNoL3g4Ni9hY3BpL2Jvb3QuYwppbmRleCA4 ZTZjOTZkY2Y2Li5mNTJhMmM2ZGM1IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvYWNwaS9ib290 LmMKKysrIGIveGVuL2FyY2gveDg2L2FjcGkvYm9vdC5jCkBAIC03MzIsNSArNzMyLDkgQEAgaW50 IF9faW5pdCBhY3BpX2Jvb3RfaW5pdCh2b2lkKQogCiAJYWNwaV90YWJsZV9wYXJzZShBQ1BJX1NJ R19CR1JULCBhY3BpX2ludmFsaWRhdGVfYmdydCk7CiAKKyNpZmRlZiBDT05GSUdfTlZESU1NX1BN RU0KKwlhY3BpX25maXRfaW5pdCgpOworI2VuZGlmCisKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdp dCBhL3hlbi9kcml2ZXJzL2FjcGkvbmZpdC5jIGIveGVuL2RyaXZlcnMvYWNwaS9uZml0LmMKaW5k ZXggZTA5OTM3OGVlMC4uMGE0NDk4M2FhZCAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvYWNwaS9u Zml0LmMKKysrIGIveGVuL2RyaXZlcnMvYWNwaS9uZml0LmMKQEAgLTMxLDExICszMSwxNjYgQEAg c3RhdGljIGNvbnN0IHVpbnQ4X3QgbmZpdF9zcGFfcG1lbV9ndWlkW10gPQogICAgIDB4YWMsIDB4 NDMsIDB4MGQsIDB4MzMsIDB4MTgsIDB4YjcsIDB4OGMsIDB4ZGIsCiB9OwogCitzdHJ1Y3QgbmZp dF9zcGFfZGVzYyB7CisgICAgc3RydWN0IGxpc3RfaGVhZCBsaW5rOworICAgIHN0cnVjdCBhY3Bp X25maXRfc3lzdGVtX2FkZHJlc3MgKmFjcGlfdGFibGU7CisgICAgc3RydWN0IGxpc3RfaGVhZCBt ZW1kZXZfbGlzdDsKK307CisKK3N0cnVjdCBuZml0X21lbWRldl9kZXNjIHsKKyAgICBzdHJ1Y3Qg bGlzdF9oZWFkIGxpbms7CisgICAgc3RydWN0IGFjcGlfbmZpdF9tZW1vcnlfbWFwICphY3BpX3Rh YmxlOworICAgIHN0cnVjdCBsaXN0X2hlYWQgbWVtZGV2X2xpbms7Cit9OworCiBzdHJ1Y3QgYWNw aV9uZml0X2Rlc2MgewogICAgIHN0cnVjdCBhY3BpX3RhYmxlX25maXQgKmFjcGlfdGFibGU7Cisg ICAgc3RydWN0IGxpc3RfaGVhZCBzcGFfbGlzdDsKKyAgICBzdHJ1Y3QgbGlzdF9oZWFkIG1lbWRl dl9saXN0OwogfTsKIAotc3RhdGljIHN0cnVjdCBhY3BpX25maXRfZGVzYyBuZml0X2Rlc2M7Citz dGF0aWMgc3RydWN0IGFjcGlfbmZpdF9kZXNjIG5maXRfZGVzYyA9IHsKKyAgICAuc3BhX2xpc3Qg PSBMSVNUX0hFQURfSU5JVChuZml0X2Rlc2Muc3BhX2xpc3QpLAorICAgIC5tZW1kZXZfbGlzdCA9 IExJU1RfSEVBRF9JTklUKG5maXRfZGVzYy5tZW1kZXZfbGlzdCksCit9OworCitzdGF0aWMgdm9p ZCBfX2luaXQgYWNwaV9uZml0X2RlbF9zdWJ0YWJsZXMoc3RydWN0IGFjcGlfbmZpdF9kZXNjICpk ZXNjKQoreworICAgIHN0cnVjdCBuZml0X3NwYV9kZXNjICpzcGEsICpzcGFfbmV4dDsKKyAgICBz dHJ1Y3QgbmZpdF9tZW1kZXZfZGVzYyAqbWVtZGV2LCAqbWVtZGV2X25leHQ7CisKKyAgICBsaXN0 X2Zvcl9lYWNoX2VudHJ5X3NhZmUoc3BhLCBzcGFfbmV4dCwgJmRlc2MtPnNwYV9saXN0LCBsaW5r KQorICAgIHsKKyAgICAgICAgbGlzdF9kZWwoJnNwYS0+bGluayk7CisgICAgICAgIHhmcmVlKHNw YSk7CisgICAgfQorICAgIGxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZSAobWVtZGV2LCBtZW1kZXZf bmV4dCwgJmRlc2MtPm1lbWRldl9saXN0LCBsaW5rKQorICAgIHsKKyAgICAgICAgbGlzdF9kZWwo Jm1lbWRldi0+bGluayk7CisgICAgICAgIHhmcmVlKG1lbWRldik7CisgICAgfQorfQorCitzdGF0 aWMgaW50IF9faW5pdCBhY3BpX25maXRfYWRkX3N1YnRhYmxlcyhzdHJ1Y3QgYWNwaV9uZml0X2Rl c2MgKmRlc2MpCit7CisgICAgc3RydWN0IGFjcGlfdGFibGVfbmZpdCAqbmZpdF90YWJsZSA9IGRl c2MtPmFjcGlfdGFibGU7CisgICAgdWludDMyX3QgaGRyX29mZnNldCA9IHNpemVvZigqbmZpdF90 YWJsZSk7CisgICAgdWludDMyX3QgbmZpdF9sZW5ndGggPSBuZml0X3RhYmxlLT5oZWFkZXIubGVu Z3RoOworICAgIHN0cnVjdCBhY3BpX25maXRfaGVhZGVyICpoZHI7CisgICAgc3RydWN0IG5maXRf c3BhX2Rlc2MgKnNwYV9kZXNjOworICAgIHN0cnVjdCBuZml0X21lbWRldl9kZXNjICptZW1kZXZf ZGVzYzsKKyAgICBpbnQgcmV0ID0gMDsKKworI2RlZmluZSBJTklUX0RFU0MoZGVzYywgYWNwaV9o ZHIsIGFjcGlfdHlwZSwgZGVzY19saXN0KSBcCisgICAgZG8geyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgKGRlc2MpID0geHphbGxvYyh0 eXBlb2YoKihkZXNjKSkpOyAgICAgICAgICAgICAgXAorICAgICAgICBpZiAoIHVubGlrZWx5KCEo ZGVzYykpICkgeyAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICByZXQgPSAtRU5P TUVNOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGdvdG8gbm9t ZW07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB9ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIChkZXNjKS0+ YWNwaV90YWJsZSA9IChhY3BpX3R5cGUgKikoYWNwaV9oZHIpOyAgIFwKKyAgICAgICAgSU5JVF9M SVNUX0hFQUQoJihkZXNjKS0+bGluayk7ICAgICAgICAgICAgICAgICAgXAorICAgICAgICBsaXN0 X2FkZF90YWlsKCYoZGVzYyktPmxpbmssIChkZXNjX2xpc3QpKTsgICAgICBcCisgICAgfSB3aGls ZSAoIDAgKQorCisgICAgd2hpbGUgKCBoZHJfb2Zmc2V0IDwgbmZpdF9sZW5ndGggKQorICAgIHsK KyAgICAgICAgaGRyID0gKHZvaWQgKiluZml0X3RhYmxlICsgaGRyX29mZnNldDsKKyAgICAgICAg aGRyX29mZnNldCArPSBoZHItPmxlbmd0aDsKKworICAgICAgICBzd2l0Y2ggKCBoZHItPnR5cGUg KQorICAgICAgICB7CisgICAgICAgIGNhc2UgQUNQSV9ORklUX1RZUEVfU1lTVEVNX0FERFJFU1M6 CisgICAgICAgICAgICBJTklUX0RFU0Moc3BhX2Rlc2MsIGhkciwgc3RydWN0IGFjcGlfbmZpdF9z eXN0ZW1fYWRkcmVzcywKKyAgICAgICAgICAgICAgICAgICAgICAmZGVzYy0+c3BhX2xpc3QpOwor ICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBBQ1BJX05GSVRfVFlQRV9NRU1PUllf TUFQOgorICAgICAgICAgICAgSU5JVF9ERVNDKG1lbWRldl9kZXNjLCBoZHIsIHN0cnVjdCBhY3Bp X25maXRfbWVtb3J5X21hcCwKKyAgICAgICAgICAgICAgICAgICAgICAmZGVzYy0+bWVtZGV2X2xp c3QpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAg IGNvbnRpbnVlOworICAgICAgICB9CisgICAgfQorCisjdW5kZWYgSU5JVF9ERVNDCisKKyAgICBy ZXR1cm4gMDsKKworIG5vbWVtOgorICAgIGFjcGlfbmZpdF9kZWxfc3VidGFibGVzKGRlc2MpOwor CisgICAgcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGFjcGlfbmZpdF9saW5r X3N1YnRhYmxlcyhzdHJ1Y3QgYWNwaV9uZml0X2Rlc2MgKmRlc2MpCit7CisgICAgc3RydWN0IG5m aXRfc3BhX2Rlc2MgKnNwYV9kZXNjOworICAgIHN0cnVjdCBuZml0X21lbWRldl9kZXNjICptZW1k ZXZfZGVzYzsKKyAgICB1aW50MTZfdCBzcGFfaWR4OworCisgICAgbGlzdF9mb3JfZWFjaF9lbnRy eShzcGFfZGVzYywgJmRlc2MtPnNwYV9saXN0LCBsaW5rKQorICAgIHsKKyAgICAgICAgSU5JVF9M SVNUX0hFQUQoJnNwYV9kZXNjLT5tZW1kZXZfbGlzdCk7CisKKyAgICAgICAgc3BhX2lkeCA9IHNw YV9kZXNjLT5hY3BpX3RhYmxlLT5yYW5nZV9pbmRleDsKKworICAgICAgICBsaXN0X2Zvcl9lYWNo X2VudHJ5KG1lbWRldl9kZXNjLCAmZGVzYy0+bWVtZGV2X2xpc3QsIGxpbmspCisgICAgICAgIHsK KyAgICAgICAgICAgIGlmICggbWVtZGV2X2Rlc2MtPmFjcGlfdGFibGUtPnJhbmdlX2luZGV4ID09 IHNwYV9pZHggKQorICAgICAgICAgICAgICAgIGxpc3RfYWRkX3RhaWwoJm1lbWRldl9kZXNjLT5t ZW1kZXZfbGluaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzcGFfZGVzYy0+bWVt ZGV2X2xpc3QpOworICAgICAgICB9CisgICAgfQorfQorCitzdGF0aWMgdm9pZCBfX2luaXQgYWNw aV9uZml0X3JlZ2lzdGVyX3BtZW0oc3RydWN0IGFjcGlfbmZpdF9kZXNjICpkZXNjKQoreworICAg IHN0cnVjdCBuZml0X3NwYV9kZXNjICpzcGFfZGVzYzsKKyAgICBzdHJ1Y3QgbmZpdF9tZW1kZXZf ZGVzYyAqbWVtZGV2X2Rlc2M7CisgICAgc3RydWN0IGFjcGlfbmZpdF9zeXN0ZW1fYWRkcmVzcyAq c3BhOworICAgIHVuc2lnbmVkIGxvbmcgc21mbiwgZW1mbjsKKyAgICBib29sIGZhaWxlZDsKKwor ICAgIGxpc3RfZm9yX2VhY2hfZW50cnkoc3BhX2Rlc2MsICZkZXNjLT5zcGFfbGlzdCwgbGluaykK KyAgICB7CisgICAgICAgIHNwYSA9IHNwYV9kZXNjLT5hY3BpX3RhYmxlOworCisgICAgICAgIC8q IFNraXAgbm9uLXBtZW0gZW50cnkuICovCisgICAgICAgIGlmICggbWVtY21wKHNwYS0+cmFuZ2Vf Z3VpZCwgbmZpdF9zcGFfcG1lbV9ndWlkLCAxNikgKQorICAgICAgICAgICAgY29udGludWU7CisK KyAgICAgICAgc21mbiA9IHBhZGRyX3RvX3BmbihzcGEtPmFkZHJlc3MpOworICAgICAgICBlbWZu ID0gcGFkZHJfdG9fcGZuKHNwYS0+YWRkcmVzcyArIHNwYS0+bGVuZ3RoKTsKKyAgICAgICAgZmFp bGVkID0gZmFsc2U7CisKKyAgICAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeShtZW1kZXZfZGVzYywg JnNwYV9kZXNjLT5tZW1kZXZfbGlzdCwgbWVtZGV2X2xpbmspCisgICAgICAgIHsKKyAgICAgICAg ICAgIGlmICggbWVtZGV2X2Rlc2MtPmFjcGlfdGFibGUtPmZsYWdzICYKKyAgICAgICAgICAgICAg ICAgKEFDUElfTkZJVF9NRU1fU0FWRV9GQUlMRUQgfAorICAgICAgICAgICAgICAgICAgQUNQSV9O RklUX01FTV9SRVNUT1JFX0ZBSUxFRCB8CisgICAgICAgICAgICAgICAgICBBQ1BJX05GSVRfTUVN X0ZMVVNIX0ZBSUxFRCB8CisgICAgICAgICAgICAgICAgICBBQ1BJX05GSVRfTUVNX05PVF9BUk1F RCB8CisgICAgICAgICAgICAgICAgICBBQ1BJX05GSVRfTUVNX01BUF9GQUlMRUQpICkKKyAgICAg ICAgICAgIHsKKyAgICAgICAgICAgICAgICBmYWlsZWQgPSB0cnVlOworICAgICAgICAgICAgICAg IGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgaWYgKCBmYWlsZWQg KQorICAgICAgICB7CisgICAgICAgICAgICBwcmludGsoWEVOTE9HX0lORk8KKyAgICAgICAgICAg ICAgICAgICAiTkZJVDogZGV0ZWN0ZWQgZmFpbHVyZXMgb24gUE1FTSBNRk5zIDB4JWx4IC0gMHgl bHgsIHNraXBwZWRcbiIsCisgICAgICAgICAgICAgICAgICAgc21mbiwgZW1mbik7CisgICAgICAg ICAgICBjb250aW51ZTsKKyAgICAgICAgfQorCisgICAgICAgIHByaW50ayhYRU5MT0dfSU5GTyAi TkZJVDogUE1FTSBNRk5zIDB4JWx4IC0gMHglbHhcbiIsIHNtZm4sIGVtZm4pOworICAgIH0KK30K IAogdm9pZCBfX2luaXQgYWNwaV9uZml0X2Jvb3RfaW5pdCh2b2lkKQogewpAQCAtNTMsNiArMjA4 LDI1IEBAIHZvaWQgX19pbml0IGFjcGlfbmZpdF9ib290X2luaXQodm9pZCkKICAgICAgICAgICAg ICAgICAgICAgIFBBR0VfSFlQRVJWSVNPUik7CiB9CiAKK3ZvaWQgX19pbml0IGFjcGlfbmZpdF9p bml0KHZvaWQpCit7CisgICAgaWYgKCAhbmZpdF9kZXNjLmFjcGlfdGFibGUgKQorICAgICAgICBy ZXR1cm47CisKKyAgICAvKiBDb2xsZWN0IGFsbCBTUEEgYW5kIG1lbW9yeSBtYXAgc3ViLXRhYmxl cy4gKi8KKyAgICBpZiAoIGFjcGlfbmZpdF9hZGRfc3VidGFibGVzKCZuZml0X2Rlc2MpICkKKyAg ICB7CisgICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJORklUOiBubyBtZW1vcnkgZm9yIE5GSVQg bWFuYWdlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBMaW5rIGRl c2NyaXB0b3JzIG9mIFNQQSBhbmQgbWVtb3J5IG1hcCBzdWItdGFibGVzLiAqLworICAgIGFjcGlf bmZpdF9saW5rX3N1YnRhYmxlcygmbmZpdF9kZXNjKTsKKworICAgIC8qIFJlZ2lzdGVyIHZhbGlk IHBtZW0gcmVnaW9ucyB0byBYZW4gaHlwZXJ2aXNvci4gKi8KKyAgICBhY3BpX25maXRfcmVnaXN0 ZXJfcG1lbSgmbmZpdF9kZXNjKTsKK30KKwogLyoqCiAgKiBTZWFyY2ggcG1lbSByZWdpb25zIG92 ZXJsYXBwZWQgd2l0aCB0aGUgc3BlY2lmaWVkIGFkZHJlc3MgcmFuZ2UuCiAgKgpkaWZmIC0tZ2l0 IGEveGVuL2luY2x1ZGUvYWNwaS9hY3RibDEuaCBiL3hlbi9pbmNsdWRlL2FjcGkvYWN0YmwxLmgK aW5kZXggOTRkOGQ3Nzc1Yy4uMDM3NjUyOTE2YSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYWNw aS9hY3RibDEuaAorKysgYi94ZW4vaW5jbHVkZS9hY3BpL2FjdGJsMS5oCkBAIC05NDYsNiArOTQ2 LDMyIEBAIHN0cnVjdCBhY3BpX25maXRfc3lzdGVtX2FkZHJlc3MgewogCXU2NCBtZW1vcnlfbWFw cGluZzsKIH07CiAKKy8qIDE6IE1lbW9yeSBEZXZpY2UgdG8gU3lzdGVtIEFkZHJlc3MgUmFuZ2Ug TWFwIFN0cnVjdHVyZSAqLworc3RydWN0IGFjcGlfbmZpdF9tZW1vcnlfbWFwIHsKKwlzdHJ1Y3Qg YWNwaV9uZml0X2hlYWRlciBoZWFkZXI7CisJdTMyIGRldmljZV9oYW5kbGU7CisJdTE2IHBoeXNp Y2FsX2lkOworCXUxNiByZWdpb25faWQ7CisJdTE2IHJhbmdlX2luZGV4OworCXUxNiByZWdpb25f aW5kZXg7CisJdTY0IHJlZ2lvbl9zaXplOworCXU2NCByZWdpb25fb2Zmc2V0OworCXU2NCBhZGRy ZXNzOworCXUxNiBpbnRlcmxlYXZlX2luZGV4OworCXUxNiBpbnRlcmxlYXZlX3dheXM7CisJdTE2 IGZsYWdzOworCXUxNiByZXNlcnZlZDsJCS8qIFJlc2VydmVkLCBtdXN0IGJlIHplcm8gKi8KK307 CisKKy8qIEZsYWdzIGluIHN0cnVjdCBhY3BpX25maXRfbWVtb3J5X21hcCAqLworI2RlZmluZSBB Q1BJX05GSVRfTUVNX1NBVkVfRkFJTEVECQkoMSkJLyogMDA6IExhc3QgU0FWRSB0byBNZW1vcnkg RGV2aWNlIGZhaWxlZCAqLworI2RlZmluZSBBQ1BJX05GSVRfTUVNX1JFU1RPUkVfRkFJTEVECSgx PDwxKQkvKiAwMTogTGFzdCBSRVNUT1JFIGZyb20gTWVtb3J5IERldmljZSBmYWlsZWQgKi8KKyNk ZWZpbmUgQUNQSV9ORklUX01FTV9GTFVTSF9GQUlMRUQJCSgxPDwyKQkvKiAwMjogUGxhdGZvcm0g Zmx1c2ggZmFpbGVkICovCisjZGVmaW5lIEFDUElfTkZJVF9NRU1fTk9UX0FSTUVECQkJKDE8PDMp CS8qIDAzOiBNZW1vcnkgRGV2aWNlIGlzIG5vdCBhcm1lZCAqLworI2RlZmluZSBBQ1BJX05GSVRf TUVNX0hFQUxUSF9PQlNFUlZFRAkoMTw8NCkJLyogMDQ6IE1lbW9yeSBEZXZpY2Ugb2JzZXJ2ZWQg U01BUlQvaGVhbHRoIGV2ZW50cyAqLworI2RlZmluZSBBQ1BJX05GSVRfTUVNX0hFQUxUSF9FTkFC TEVECSgxPDw1KQkvKiAwNTogU01BUlQvaGVhbHRoIGV2ZW50cyBlbmFibGVkICovCisjZGVmaW5l IEFDUElfTkZJVF9NRU1fTUFQX0ZBSUxFRAkJKDE8PDYpCS8qIDA2OiBNYXBwaW5nIHRvIFNQQSBm YWlsZWQgKi8KKwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqCiAgKiBTQlNUIC0gU21hcnQg QmF0dGVyeSBTcGVjaWZpY2F0aW9uIFRhYmxlCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4v YWNwaS5oIGIveGVuL2luY2x1ZGUveGVuL2FjcGkuaAppbmRleCAxYmQ4ZjlmNGU0Li4wODhmMDEy NTVkIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vYWNwaS5oCisrKyBiL3hlbi9pbmNsdWRl L3hlbi9hY3BpLmgKQEAgLTE4NSw2ICsxODUsNyBAQCB2b2lkIGFjcGlfbmZpdF9ib290X2luaXQo dm9pZCk7CiBib29sIGFjcGlfbmZpdF9ib290X3NlYXJjaF9wbWVtKHVuc2lnbmVkIGxvbmcgc21m biwgdW5zaWduZWQgbG9uZyBlbWZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 bnNpZ25lZCBsb25nICpyZXRfc21mbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dW5zaWduZWQgbG9uZyAqcmV0X2VtZm4pOwordm9pZCBhY3BpX25maXRfaW5pdCh2b2lkKTsKICNl bmRpZiAvKiBDT05GSUdfTlZESU1NX1BNRU0gKi8KIAogI2VuZGlmIC8qX0xJTlVYX0FDUElfSCov Ci0tIAoyLjE1LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs