From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH v2 06/23] acpi/hvmloader: Collect processor and NUMA info in hvmloader Date: Thu, 4 Aug 2016 17:06:34 -0400 Message-ID: <1470344811-14225-7-git-send-email-boris.ostrovsky@oracle.com> References: <1470344811-14225-1-git-send-email-boris.ostrovsky@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1470344811-14225-1-git-send-email-boris.ostrovsky@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: wei.liu2@citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, julien.grall@arm.com, jbeulich@suse.com, zhaoshenglong@huawei.com, boris.ostrovsky@oracle.com, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org Tm8gbmVlZCBmb3IgQUNQSSBjb2RlIHRvIHJlbHkgb24gaHZtX2luZm8gdmFyaWFibGUuCgpTaWdu ZWQtb2ZmLWJ5OiBCb3JpcyBPc3Ryb3Zza3kgPGJvcmlzLm9zdHJvdnNreUBvcmFjbGUuY29tPgot LS0KdjI6CiogTm90ZTogc3RydWN0IGFjcGlfbnVtYSdzIHBvaW50ZXJzIGNhbid0IGJlIGNvbnN0 aWZpZWQgZHVlIHRvIHRoZWlyCiAgdXNlIGluIGxhdGVyIHBhdGNoZXMKCiB0b29scy9maXJtd2Fy ZS9odm1sb2FkZXIvYWNwaS9idWlsZC5jICAgfCA1MCArKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0KIHRvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9hY3BpL2xpYmFjcGkuaCB8IDEzICsr KysrKysrKwogdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3V0aWwuYyAgICAgICAgIHwgIDkgKysr KysrCiAzIGZpbGVzIGNoYW5nZWQsIDQ4IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9hY3BpL2J1aWxkLmMgYi90b29s cy9maXJtd2FyZS9odm1sb2FkZXIvYWNwaS9idWlsZC5jCmluZGV4IDhjYTdlNjkuLjA3NWQ4ZDcg MTAwNjQ0Ci0tLSBhL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9hY3BpL2J1aWxkLmMKKysrIGIv dG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL2FjcGkvYnVpbGQuYwpAQCAtNzAsNyArNzAsOCBAQCBz dGF0aWMgdm9pZCBzZXRfY2hlY2tzdW0oCiAgICAgcFtjaGVja3N1bV9vZmZzZXRdID0gLXN1bTsK IH0KIAotc3RhdGljIHN0cnVjdCBhY3BpXzIwX21hZHQgKmNvbnN0cnVjdF9tYWR0KHN0cnVjdCBh Y3BpX2luZm8gKmluZm8pCitzdGF0aWMgc3RydWN0IGFjcGlfMjBfbWFkdCAqY29uc3RydWN0X21h ZHQoc3RydWN0IGFjcGlfY29uZmlnICpjb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IGFjcGlfaW5mbyAqaW5mbykKIHsKICAgICBzdHJ1Y3Qg YWNwaV8yMF9tYWR0ICAgICAgICAgICAqbWFkdDsKICAgICBzdHJ1Y3QgYWNwaV8yMF9tYWR0X2lu dHNyY292ciAqaW50c3Jjb3ZyOwpAQCAtODEsNyArODIsNyBAQCBzdGF0aWMgc3RydWN0IGFjcGlf MjBfbWFkdCAqY29uc3RydWN0X21hZHQoc3RydWN0IGFjcGlfaW5mbyAqaW5mbykKICAgICBzeiAg PSBzaXplb2Yoc3RydWN0IGFjcGlfMjBfbWFkdCk7CiAgICAgc3ogKz0gc2l6ZW9mKHN0cnVjdCBh Y3BpXzIwX21hZHRfaW50c3Jjb3ZyKSAqIDE2OwogICAgIHN6ICs9IHNpemVvZihzdHJ1Y3QgYWNw aV8yMF9tYWR0X2lvYXBpYyk7Ci0gICAgc3ogKz0gc2l6ZW9mKHN0cnVjdCBhY3BpXzIwX21hZHRf bGFwaWMpICogaHZtX2luZm8tPm5yX3ZjcHVzOworICAgIHN6ICs9IHNpemVvZihzdHJ1Y3QgYWNw aV8yMF9tYWR0X2xhcGljKSAqIGNvbmZpZy0+aHZtaW5mby0+bnJfdmNwdXM7CiAKICAgICBtYWR0 ID0gbWVtX2FsbG9jKHN6LCAxNik7CiAgICAgaWYgKCFtYWR0KSByZXR1cm4gTlVMTDsKQEAgLTEz NCw5ICsxMzUsOSBAQCBzdGF0aWMgc3RydWN0IGFjcGlfMjBfbWFkdCAqY29uc3RydWN0X21hZHQo c3RydWN0IGFjcGlfaW5mbyAqaW5mbykKICAgICBpb19hcGljLT5pb2FwaWNfYWRkciA9IElPQVBJ Q19CQVNFX0FERFJFU1M7CiAKICAgICBsYXBpYyA9IChzdHJ1Y3QgYWNwaV8yMF9tYWR0X2xhcGlj ICopKGlvX2FwaWMgKyAxKTsKLSAgICBpbmZvLT5ucl9jcHVzID0gaHZtX2luZm8tPm5yX3ZjcHVz OworICAgIGluZm8tPm5yX2NwdXMgPSBjb25maWctPiBodm1pbmZvLT5ucl92Y3B1czsKICAgICBp bmZvLT5tYWR0X2xhcGljMF9hZGRyID0gKHVpbnQzMl90KWxhcGljOwotICAgIGZvciAoIGkgPSAw OyBpIDwgaHZtX2luZm8tPm5yX3ZjcHVzOyBpKysgKQorICAgIGZvciAoIGkgPSAwOyBpIDwgY29u ZmlnLT5odm1pbmZvLT5ucl92Y3B1czsgaSsrICkKICAgICB7CiAgICAgICAgIG1lbXNldChsYXBp YywgMCwgc2l6ZW9mKCpsYXBpYykpOwogICAgICAgICBsYXBpYy0+dHlwZSAgICA9IEFDUElfUFJP Q0VTU09SX0xPQ0FMX0FQSUM7CkBAIC0xNDQsNyArMTQ1LDcgQEAgc3RhdGljIHN0cnVjdCBhY3Bp XzIwX21hZHQgKmNvbnN0cnVjdF9tYWR0KHN0cnVjdCBhY3BpX2luZm8gKmluZm8pCiAgICAgICAg IC8qIFByb2Nlc3NvciBJRCBtdXN0IG1hdGNoIHByb2Nlc3Nvci1vYmplY3QgSURzIGluIHRoZSBE U0RULiAqLwogICAgICAgICBsYXBpYy0+YWNwaV9wcm9jZXNzb3JfaWQgPSBpOwogICAgICAgICBs YXBpYy0+YXBpY19pZCA9IExBUElDX0lEKGkpOwotICAgICAgICBsYXBpYy0+ZmxhZ3MgPSAodGVz dF9iaXQoaSwgaHZtX2luZm8tPnZjcHVfb25saW5lKQorICAgICAgICBsYXBpYy0+ZmxhZ3MgPSAo dGVzdF9iaXQoaSwgY29uZmlnLT5odm1pbmZvLT52Y3B1X29ubGluZSkKICAgICAgICAgICAgICAg ICAgICAgICAgID8gQUNQSV9MT0NBTF9BUElDX0VOQUJMRUQgOiAwKTsKICAgICAgICAgbGFwaWMr KzsKICAgICB9CkBAIC0xOTUsNyArMTk2LDcgQEAgc3RhdGljIHN0cnVjdCBhY3BpXzIwX3dhZXQg KmNvbnN0cnVjdF93YWV0KHZvaWQpCiAgICAgcmV0dXJuIHdhZXQ7CiB9CiAKLXN0YXRpYyBzdHJ1 Y3QgYWNwaV8yMF9zcmF0ICpjb25zdHJ1Y3Rfc3JhdCh2b2lkKQorc3RhdGljIHN0cnVjdCBhY3Bp XzIwX3NyYXQgKmNvbnN0cnVjdF9zcmF0KHN0cnVjdCBhY3BpX2NvbmZpZyAqY29uZmlnKQogewog ICAgIHN0cnVjdCBhY3BpXzIwX3NyYXQgKnNyYXQ7CiAgICAgc3RydWN0IGFjcGlfMjBfc3JhdF9w cm9jZXNzb3IgKnByb2Nlc3NvcjsKQEAgLTIwNCw4ICsyMDUsOCBAQCBzdGF0aWMgc3RydWN0IGFj cGlfMjBfc3JhdCAqY29uc3RydWN0X3NyYXQodm9pZCkKICAgICB2b2lkICpwOwogICAgIHVuc2ln bmVkIGludCBpOwogCi0gICAgc2l6ZSA9IHNpemVvZigqc3JhdCkgKyBzaXplb2YoKnByb2Nlc3Nv cikgKiBodm1faW5mby0+bnJfdmNwdXMgKwotICAgICAgICAgICBzaXplb2YoKm1lbW9yeSkgKiBu cl92bWVtcmFuZ2VzOworICAgIHNpemUgPSBzaXplb2YoKnNyYXQpICsgc2l6ZW9mKCpwcm9jZXNz b3IpICogY29uZmlnLT5odm1pbmZvLT5ucl92Y3B1cyArCisgICAgICAgICAgIHNpemVvZigqbWVt b3J5KSAqIGNvbmZpZy0+bnVtYS5ucl92bWVtcmFuZ2VzOwogCiAgICAgcCA9IG1lbV9hbGxvYyhz aXplLCAxNik7CiAgICAgaWYgKCAhcCApCkBAIC0yMjIsMjUgKzIyMywyNiBAQCBzdGF0aWMgc3Ry dWN0IGFjcGlfMjBfc3JhdCAqY29uc3RydWN0X3NyYXQodm9pZCkKICAgICBzcmF0LT50YWJsZV9y ZXZpc2lvbiAgICAgID0gQUNQSV9TUkFUX1RBQkxFX1JFVklTSU9OOwogCiAgICAgcHJvY2Vzc29y ID0gKHN0cnVjdCBhY3BpXzIwX3NyYXRfcHJvY2Vzc29yICopKHNyYXQgKyAxKTsKLSAgICBmb3Ig KCBpID0gMDsgaSA8IGh2bV9pbmZvLT5ucl92Y3B1czsgaSsrICkKKyAgICBmb3IgKCBpID0gMDsg aSA8IGNvbmZpZy0+aHZtaW5mby0+bnJfdmNwdXM7IGkrKyApCiAgICAgewogICAgICAgICBwcm9j ZXNzb3ItPnR5cGUgICAgID0gQUNQSV9QUk9DRVNTT1JfQUZGSU5JVFk7CiAgICAgICAgIHByb2Nl c3Nvci0+bGVuZ3RoICAgPSBzaXplb2YoKnByb2Nlc3Nvcik7Ci0gICAgICAgIHByb2Nlc3Nvci0+ ZG9tYWluICAgPSB2Y3B1X3RvX3Zub2RlW2ldOworICAgICAgICBwcm9jZXNzb3ItPmRvbWFpbiAg ID0gY29uZmlnLT5udW1hLnZjcHVfdG9fdm5vZGVbaV07CiAgICAgICAgIHByb2Nlc3Nvci0+YXBp Y19pZCAgPSBMQVBJQ19JRChpKTsKICAgICAgICAgcHJvY2Vzc29yLT5mbGFncyAgICA9IEFDUElf TE9DQUxfQVBJQ19BRkZJTl9FTkFCTEVEOwogICAgICAgICBwcm9jZXNzb3IrKzsKICAgICB9CiAK ICAgICBtZW1vcnkgPSAoc3RydWN0IGFjcGlfMjBfc3JhdF9tZW1vcnkgKilwcm9jZXNzb3I7Ci0g ICAgZm9yICggaSA9IDA7IGkgPCBucl92bWVtcmFuZ2VzOyBpKysgKQorICAgIGZvciAoIGkgPSAw OyBpIDwgY29uZmlnLT5udW1hLm5yX3ZtZW1yYW5nZXM7IGkrKyApCiAgICAgewogICAgICAgICBt ZW1vcnktPnR5cGUgICAgICAgICAgPSBBQ1BJX01FTU9SWV9BRkZJTklUWTsKICAgICAgICAgbWVt b3J5LT5sZW5ndGggICAgICAgID0gc2l6ZW9mKCptZW1vcnkpOwotICAgICAgICBtZW1vcnktPmRv bWFpbiAgICAgICAgPSB2bWVtcmFuZ2VbaV0ubmlkOworICAgICAgICBtZW1vcnktPmRvbWFpbiAg ICAgICAgPSBjb25maWctPm51bWEudm1lbXJhbmdlW2ldLm5pZDsKICAgICAgICAgbWVtb3J5LT5m bGFncyAgICAgICAgID0gQUNQSV9NRU1fQUZGSU5fRU5BQkxFRDsKLSAgICAgICAgbWVtb3J5LT5i YXNlX2FkZHJlc3MgID0gdm1lbXJhbmdlW2ldLnN0YXJ0OwotICAgICAgICBtZW1vcnktPm1lbV9s ZW5ndGggICAgPSB2bWVtcmFuZ2VbaV0uZW5kIC0gdm1lbXJhbmdlW2ldLnN0YXJ0OworICAgICAg ICBtZW1vcnktPmJhc2VfYWRkcmVzcyAgPSBjb25maWctPm51bWEudm1lbXJhbmdlW2ldLnN0YXJ0 OworICAgICAgICBtZW1vcnktPm1lbV9sZW5ndGggICAgPSBjb25maWctPm51bWEudm1lbXJhbmdl W2ldLmVuZCAtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZy0+bnVtYS52 bWVtcmFuZ2VbaV0uc3RhcnQ7CiAgICAgICAgIG1lbW9yeSsrOwogICAgIH0KIApAQCAtMjUyLDEy ICsyNTQsMTIgQEAgc3RhdGljIHN0cnVjdCBhY3BpXzIwX3NyYXQgKmNvbnN0cnVjdF9zcmF0KHZv aWQpCiAgICAgcmV0dXJuIHNyYXQ7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgYWNwaV8yMF9zbGl0ICpj b25zdHJ1Y3Rfc2xpdCh2b2lkKQorc3RhdGljIHN0cnVjdCBhY3BpXzIwX3NsaXQgKmNvbnN0cnVj dF9zbGl0KHN0cnVjdCBhY3BpX2NvbmZpZyAqY29uZmlnKQogewogICAgIHN0cnVjdCBhY3BpXzIw X3NsaXQgKnNsaXQ7CiAgICAgdW5zaWduZWQgaW50IGksIG51bSwgc2l6ZTsKIAotICAgIG51bSA9 IG5yX3Zub2RlcyAqIG5yX3Zub2RlczsKKyAgICBudW0gPSBjb25maWctPm51bWEubnJfdm5vZGVz ICogY29uZmlnLT5udW1hLm5yX3Zub2RlczsKICAgICBzaXplID0gc2l6ZW9mKCpzbGl0KSArIG51 bSAqIHNpemVvZih1aW50OF90KTsKIAogICAgIHNsaXQgPSBtZW1fYWxsb2Moc2l6ZSwgMTYpOwpA QCAtMjc0LDkgKzI3Niw5IEBAIHN0YXRpYyBzdHJ1Y3QgYWNwaV8yMF9zbGl0ICpjb25zdHJ1Y3Rf c2xpdCh2b2lkKQogICAgIHNsaXQtPmhlYWRlci5jcmVhdG9yX3JldmlzaW9uID0gQUNQSV9DUkVB VE9SX1JFVklTSU9OOwogCiAgICAgZm9yICggaSA9IDA7IGkgPCBudW07IGkrKyApCi0gICAgICAg IHNsaXQtPmVudHJ5W2ldID0gdmRpc3RhbmNlW2ldOworICAgICAgICBzbGl0LT5lbnRyeVtpXSA9 IGNvbmZpZy0+bnVtYS52ZGlzdGFuY2VbaV07CiAKLSAgICBzbGl0LT5sb2NhbGl0aWVzID0gbnJf dm5vZGVzOworICAgIHNsaXQtPmxvY2FsaXRpZXMgPSBjb25maWctPm51bWEubnJfdm5vZGVzOwog CiAgICAgc2xpdC0+aGVhZGVyLmxlbmd0aCA9IHNpemU7CiAgICAgc2V0X2NoZWNrc3VtKHNsaXQs IG9mZnNldG9mKHN0cnVjdCBhY3BpX2hlYWRlciwgY2hlY2tzdW0pLCBzaXplKTsKQEAgLTMzNSw5 ICszMzcsOSBAQCBzdGF0aWMgaW50IGNvbnN0cnVjdF9zZWNvbmRhcnlfdGFibGVzKHVuc2lnbmVk IGxvbmcgKnRhYmxlX3B0cnMsCiAgICAgdm9pZCAqbGFzYTsKIAogICAgIC8qIE1BRFQuICovCi0g ICAgaWYgKCAoaHZtX2luZm8tPm5yX3ZjcHVzID4gMSkgfHwgaHZtX2luZm8tPmFwaWNfbW9kZSAp CisgICAgaWYgKCAoY29uZmlnLT5odm1pbmZvLT5ucl92Y3B1cyA+IDEpIHx8IGNvbmZpZy0+aHZt aW5mby0+YXBpY19tb2RlICkKICAgICB7Ci0gICAgICAgIG1hZHQgPSBjb25zdHJ1Y3RfbWFkdChp bmZvKTsKKyAgICAgICAgbWFkdCA9IGNvbnN0cnVjdF9tYWR0KGNvbmZpZywgaW5mbyk7CiAgICAg ICAgIGlmICghbWFkdCkgcmV0dXJuIC0xOwogICAgICAgICB0YWJsZV9wdHJzW25yX3RhYmxlcysr XSA9ICh1bnNpZ25lZCBsb25nKW1hZHQ7CiAgICAgfQpAQCAtNDE5LDEwICs0MjEsMTAgQEAgc3Rh dGljIGludCBjb25zdHJ1Y3Rfc2Vjb25kYXJ5X3RhYmxlcyh1bnNpZ25lZCBsb25nICp0YWJsZV9w dHJzLAogICAgIH0KIAogICAgIC8qIFNSQVQgYW5kIFNMSVQgKi8KLSAgICBpZiAoIG5yX3Zub2Rl cyA+IDAgKQorICAgIGlmICggY29uZmlnLT5udW1hLm5yX3Zub2RlcyA+IDAgKQogICAgIHsKLSAg ICAgICAgc3RydWN0IGFjcGlfMjBfc3JhdCAqc3JhdCA9IGNvbnN0cnVjdF9zcmF0KCk7Ci0gICAg ICAgIHN0cnVjdCBhY3BpXzIwX3NsaXQgKnNsaXQgPSBjb25zdHJ1Y3Rfc2xpdCgpOworICAgICAg ICBzdHJ1Y3QgYWNwaV8yMF9zcmF0ICpzcmF0ID0gY29uc3RydWN0X3NyYXQoY29uZmlnKTsKKyAg ICAgICAgc3RydWN0IGFjcGlfMjBfc2xpdCAqc2xpdCA9IGNvbnN0cnVjdF9zbGl0KGNvbmZpZyk7 CiAKICAgICAgICAgaWYgKCBzcmF0ICkKICAgICAgICAgICAgIHRhYmxlX3B0cnNbbnJfdGFibGVz KytdID0gKHVuc2lnbmVkIGxvbmcpc3JhdDsKQEAgLTUxNSw3ICs1MTcsNyBAQCB2b2lkIGFjcGlf YnVpbGRfdGFibGVzKHN0cnVjdCBhY3BpX2NvbmZpZyAqY29uZmlnKQogICAgICAqIFRoZSBsYXR0 ZXIgaXMgcmVxdWlyZWQgZm9yIFdpbmRvd3MgMjAwMCwgd2hpY2ggZXhwZXJpZW5jZXMgYSBCU09E IG9mCiAgICAgICogS01PREVfRVhDRVBUSU9OX05PVF9IQU5ETEVEIGlmIGl0IHNlZXMgbW9yZSB0 aGFuIDE1IHByb2Nlc3NvciBvYmplY3RzLgogICAgICAqLwotICAgIGlmICggaHZtX2luZm8tPm5y X3ZjcHVzIDw9IDE1ICYmIGNvbmZpZy0+ZHNkdF8xNWNwdSkKKyAgICBpZiAoIGNvbmZpZy0+aHZt aW5mby0+bnJfdmNwdXMgPD0gMTUgJiYgY29uZmlnLT5kc2R0XzE1Y3B1KQogICAgIHsKICAgICAg ICAgZHNkdCA9IG1lbV9hbGxvYyhjb25maWctPmRzZHRfMTVjcHVfbGVuLCAxNik7CiAgICAgICAg IGlmICghZHNkdCkgZ290byBvb207CmRpZmYgLS1naXQgYS90b29scy9maXJtd2FyZS9odm1sb2Fk ZXIvYWNwaS9saWJhY3BpLmggYi90b29scy9maXJtd2FyZS9odm1sb2FkZXIvYWNwaS9saWJhY3Bp LmgKaW5kZXggMjJmZDVmNi4uMzcxMmM0MiAxMDA2NDQKLS0tIGEvdG9vbHMvZmlybXdhcmUvaHZt bG9hZGVyL2FjcGkvbGliYWNwaS5oCisrKyBiL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9hY3Bp L2xpYmFjcGkuaApAQCAtMjAsNiArMjAsOCBAQAogI2lmbmRlZiBfX0xJQkFDUElfSF9fCiAjZGVm aW5lIF9fTElCQUNQSV9IX18KIAorI2luY2x1ZGUgPHhlbi9tZW1vcnkuaD4KKwogI2RlZmluZSBB Q1BJX0hBU19DT00xICAgICAgICAoMTw8MCkKICNkZWZpbmUgQUNQSV9IQVNfQ09NMiAgICAgICAg KDE8PDEpCiAjZGVmaW5lIEFDUElfSEFTX0xQVDEgICAgICAgICgxPDwyKQpAQCAtMjksNiArMzEs MTQgQEAKICNkZWZpbmUgQUNQSV9IQVNfU1NEVF9TNCAgICAgKDE8PDYpCiAKIAorc3RydWN0IGFj cGlfbnVtYSB7CisgICAgdWludDMyX3QgbnJfdm1lbXJhbmdlczsKKyAgICB1aW50MzJfdCBucl92 bm9kZXM7CisgICAgdW5zaWduZWQgaW50ICp2Y3B1X3RvX3Zub2RlOworICAgIHVuc2lnbmVkIGlu dCAqdmRpc3RhbmNlOworICAgIHN0cnVjdCB4ZW5fdm1lbXJhbmdlICp2bWVtcmFuZ2U7Cit9Owor CiBzdHJ1Y3QgYWNwaV9jb25maWcgewogICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRzZHRfYW55 Y3B1OwogICAgIHVuc2lnbmVkIGludCBkc2R0X2FueWNwdV9sZW47CkBAIC00OSw2ICs1OSw5IEBA IHN0cnVjdCBhY3BpX2NvbmZpZyB7CiAgICAgICAgIHVpbnQzMl90IGxlbmd0aDsKICAgICB9IHB0 OwogCisgICAgc3RydWN0IGFjcGlfbnVtYSBudW1hOworICAgIHN0cnVjdCBodm1faW5mb190YWJs ZSAqaHZtaW5mbzsKKwogICAgIC8qCiAgICAgICogQWRkcmVzcyB3aGVyZSBhY3BpX2luZm8gc2hv dWxkIGJlIHBsYWNlZC4KICAgICAgKiBUaGlzIG11c3QgbWF0Y2ggdGhlIE9wZXJhdGlvblJlZ2lv bihCSU9TLCBTeXN0ZW1NZW1vcnksIC4uLi4pCmRpZmYgLS1naXQgYS90b29scy9maXJtd2FyZS9o dm1sb2FkZXIvdXRpbC5jIGIvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3V0aWwuYwppbmRleCBk NjFhZWE2Li4xZjhkNTM5IDEwMDY0NAotLS0gYS90b29scy9maXJtd2FyZS9odm1sb2FkZXIvdXRp bC5jCisrKyBiL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci91dGlsLmMKQEAgLTIxLDYgKzIxLDcg QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJoeXBlcmNhbGwuaCIKICNpbmNsdWRl ICJjdHlwZS5oIgorI2luY2x1ZGUgInZudW1hLmgiCiAjaW5jbHVkZSAiYWNwaS9hY3BpMl8wLmgi CiAjaW5jbHVkZSAiYWNwaS9saWJhY3BpLmgiCiAjaW5jbHVkZSA8c3RkaW50Lmg+CkBAIC05MTgs NiArOTE5LDE0IEBAIHZvaWQgaHZtbG9hZGVyX2FjcGlfYnVpbGRfdGFibGVzKHN0cnVjdCBhY3Bp X2NvbmZpZyAqY29uZmlnLAogICAgIGlmICggIXN0cm5jbXAoeGVuc3RvcmVfcmVhZCgicGxhdGZv cm0vYWNwaV9zNCIsICIxIiksICIxIiwgMSkgICkKICAgICAgICAgY29uZmlnLT50YWJsZV9mbGFn cyB8PSBBQ1BJX0hBU19TU0RUX1M0OwogCisgICAgY29uZmlnLT5udW1hLm5yX3ZtZW1yYW5nZXMg PSBucl92bWVtcmFuZ2VzOworICAgIGNvbmZpZy0+bnVtYS5ucl92bm9kZXMgPSBucl92bm9kZXM7 CisgICAgY29uZmlnLT5udW1hLnZjcHVfdG9fdm5vZGUgPSB2Y3B1X3RvX3Zub2RlOworICAgIGNv bmZpZy0+bnVtYS52ZGlzdGFuY2UgPSB2ZGlzdGFuY2U7CisgICAgY29uZmlnLT5udW1hLnZtZW1y YW5nZSA9IHZtZW1yYW5nZTsKKworICAgIGNvbmZpZy0+aHZtaW5mbyA9IGh2bV9pbmZvOworCiAg ICAgY29uZmlnLT5yc2RwID0gcGh5c2ljYWw7CiAgICAgY29uZmlnLT5pbmZvcCA9IEFDUElfSU5G T19QSFlTSUNBTF9BRERSRVNTOwogCi0tIAoxLjguMy4xCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==