From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH v1 06/20] acpi/hvmloader: Collect processor and NUMA info in hvmloader Date: Tue, 5 Jul 2016 15:05:05 -0400 Message-ID: <1467745519-9868-7-git-send-email-boris.ostrovsky@oracle.com> References: <1467745519-9868-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: <1467745519-9868-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 Tm8gbmVlZCBmb3IgQUNQSSBjb2RlIHRvIHJlbHkgb24gaHZtX2luZm8uCgpTaWduZWQtb2ZmLWJ5 OiBCb3JpcyBPc3Ryb3Zza3kgPGJvcmlzLm9zdHJvdnNreUBvcmFjbGUuY29tPgotLS0KCkNoYW5n ZXMgaW4gdjE6CiogUGFzcyBodm1faW5mb190YWJsZSBwb2ludGVyIGluIGFjcGlfY29uZmlnCgog dG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL2FjcGkvYnVpbGQuYyAgIHwgICA1MyArKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tCiB0b29scy9maXJtd2FyZS9odm1sb2FkZXIvYWNwaS9saWJh Y3BpLmggfCAgIDEzICsrKysrKysKIHRvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci91dGlsLmMgICAg ICAgICB8ICAgIDkgKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwgMjYg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL2FjcGkv YnVpbGQuYyBiL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9hY3BpL2J1aWxkLmMKaW5kZXggOTVm NmNmOC4uZDZlNzc5OCAxMDA2NDQKLS0tIGEvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL2FjcGkv YnVpbGQuYworKysgYi90b29scy9maXJtd2FyZS9odm1sb2FkZXIvYWNwaS9idWlsZC5jCkBAIC01 NCw3ICs1NCw3IEBAIHN0YXRpYyB2b2lkIHNldF9jaGVja3N1bSgKICAgICBwW2NoZWNrc3VtX29m ZnNldF0gPSAtc3VtOwogfQogCi1zdGF0aWMgc3RydWN0IGFjcGlfMjBfbWFkdCAqY29uc3RydWN0 X21hZHQoc3RydWN0IGFjcGlfaW5mbyAqaW5mbykKK3N0YXRpYyBzdHJ1Y3QgYWNwaV8yMF9tYWR0 ICpjb25zdHJ1Y3RfbWFkdChzdHJ1Y3QgYWNwaV9jb25maWcgKmNvbmZpZykKIHsKICAgICBzdHJ1 Y3QgYWNwaV8yMF9tYWR0ICAgICAgICAgICAqbWFkdDsKICAgICBzdHJ1Y3QgYWNwaV8yMF9tYWR0 X2ludHNyY292ciAqaW50c3Jjb3ZyOwpAQCAtNjUsNyArNjUsNyBAQCBzdGF0aWMgc3RydWN0IGFj cGlfMjBfbWFkdCAqY29uc3RydWN0X21hZHQoc3RydWN0IGFjcGlfaW5mbyAqaW5mbykKICAgICBz eiAgPSBzaXplb2Yoc3RydWN0IGFjcGlfMjBfbWFkdCk7CiAgICAgc3ogKz0gc2l6ZW9mKHN0cnVj dCBhY3BpXzIwX21hZHRfaW50c3Jjb3ZyKSAqIDE2OwogICAgIHN6ICs9IHNpemVvZihzdHJ1Y3Qg YWNwaV8yMF9tYWR0X2lvYXBpYyk7Ci0gICAgc3ogKz0gc2l6ZW9mKHN0cnVjdCBhY3BpXzIwX21h ZHRfbGFwaWMpICogaHZtX2luZm8tPm5yX3ZjcHVzOworICAgIHN6ICs9IHNpemVvZihzdHJ1Y3Qg YWNwaV8yMF9tYWR0X2xhcGljKSAqIGNvbmZpZy0+aHZtaW5mby0+bnJfdmNwdXM7CiAKICAgICBt YWR0ID0gbWVtX2FsbG9jKHN6LCAxNik7CiAgICAgaWYgKCFtYWR0KSByZXR1cm4gTlVMTDsKQEAg LTExOCw5ICsxMTgsOSBAQCBzdGF0aWMgc3RydWN0IGFjcGlfMjBfbWFkdCAqY29uc3RydWN0X21h ZHQoc3RydWN0IGFjcGlfaW5mbyAqaW5mbykKICAgICBpb19hcGljLT5pb2FwaWNfYWRkciA9IElP QVBJQ19CQVNFX0FERFJFU1M7CiAKICAgICBsYXBpYyA9IChzdHJ1Y3QgYWNwaV8yMF9tYWR0X2xh cGljICopKGlvX2FwaWMgKyAxKTsKLSAgICBpbmZvLT5ucl9jcHVzID0gaHZtX2luZm8tPm5yX3Zj cHVzOwotICAgIGluZm8tPm1hZHRfbGFwaWMwX2FkZHIgPSAodWludDMyX3QpbGFwaWM7Ci0gICAg Zm9yICggaSA9IDA7IGkgPCBodm1faW5mby0+bnJfdmNwdXM7IGkrKyApCisgICAgY29uZmlnLT5h aW5mby5ucl9jcHVzID1jb25maWctPiBodm1pbmZvLT5ucl92Y3B1czsKKyAgICBjb25maWctPmFp bmZvLm1hZHRfbGFwaWMwX2FkZHIgPSAodWludDMyX3QpbGFwaWM7CisgICAgZm9yICggaSA9IDA7 IGkgPCBjb25maWctPmh2bWluZm8tPm5yX3ZjcHVzOyBpKysgKQogICAgIHsKICAgICAgICAgbWVt c2V0KGxhcGljLCAwLCBzaXplb2YoKmxhcGljKSk7CiAgICAgICAgIGxhcGljLT50eXBlICAgID0g QUNQSV9QUk9DRVNTT1JfTE9DQUxfQVBJQzsKQEAgLTEyOCw3ICsxMjgsNyBAQCBzdGF0aWMgc3Ry dWN0IGFjcGlfMjBfbWFkdCAqY29uc3RydWN0X21hZHQoc3RydWN0IGFjcGlfaW5mbyAqaW5mbykK ICAgICAgICAgLyogUHJvY2Vzc29yIElEIG11c3QgbWF0Y2ggcHJvY2Vzc29yLW9iamVjdCBJRHMg aW4gdGhlIERTRFQuICovCiAgICAgICAgIGxhcGljLT5hY3BpX3Byb2Nlc3Nvcl9pZCA9IGk7CiAg ICAgICAgIGxhcGljLT5hcGljX2lkID0gTEFQSUNfSUQoaSk7Ci0gICAgICAgIGxhcGljLT5mbGFn cyA9ICh0ZXN0X2JpdChpLCBodm1faW5mby0+dmNwdV9vbmxpbmUpCisgICAgICAgIGxhcGljLT5m bGFncyA9ICh0ZXN0X2JpdChpLCBjb25maWctPmh2bWluZm8tPnZjcHVfb25saW5lKQogICAgICAg ICAgICAgICAgICAgICAgICAgPyBBQ1BJX0xPQ0FMX0FQSUNfRU5BQkxFRCA6IDApOwogICAgICAg ICBsYXBpYysrOwogICAgIH0KQEAgLTEzNiw3ICsxMzYsNyBAQCBzdGF0aWMgc3RydWN0IGFjcGlf MjBfbWFkdCAqY29uc3RydWN0X21hZHQoc3RydWN0IGFjcGlfaW5mbyAqaW5mbykKICAgICBtYWR0 LT5oZWFkZXIubGVuZ3RoID0gKHVuc2lnbmVkIGNoYXIgKilsYXBpYyAtICh1bnNpZ25lZCBjaGFy ICopbWFkdDsKICAgICBzZXRfY2hlY2tzdW0obWFkdCwgb2Zmc2V0b2Yoc3RydWN0IGFjcGlfaGVh ZGVyLCBjaGVja3N1bSksCiAgICAgICAgICAgICAgICAgIG1hZHQtPmhlYWRlci5sZW5ndGgpOwot ICAgIGluZm8tPm1hZHRfY3N1bV9hZGRyID0gKHVpbnQzMl90KSZtYWR0LT5oZWFkZXIuY2hlY2tz dW07CisgICAgY29uZmlnLT5haW5mby5tYWR0X2NzdW1fYWRkciA9ICh1aW50MzJfdCkmbWFkdC0+ aGVhZGVyLmNoZWNrc3VtOwogCiAgICAgcmV0dXJuIG1hZHQ7CiB9CkBAIC0xNzksNyArMTc5LDcg QEAgc3RhdGljIHN0cnVjdCBhY3BpXzIwX3dhZXQgKmNvbnN0cnVjdF93YWV0KHZvaWQpCiAgICAg cmV0dXJuIHdhZXQ7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgYWNwaV8yMF9zcmF0ICpjb25zdHJ1Y3Rf c3JhdCh2b2lkKQorc3RhdGljIHN0cnVjdCBhY3BpXzIwX3NyYXQgKmNvbnN0cnVjdF9zcmF0KHN0 cnVjdCBhY3BpX2NvbmZpZyAqY29uZmlnKQogewogICAgIHN0cnVjdCBhY3BpXzIwX3NyYXQgKnNy YXQ7CiAgICAgc3RydWN0IGFjcGlfMjBfc3JhdF9wcm9jZXNzb3IgKnByb2Nlc3NvcjsKQEAgLTE4 OCw4ICsxODgsOCBAQCBzdGF0aWMgc3RydWN0IGFjcGlfMjBfc3JhdCAqY29uc3RydWN0X3NyYXQo dm9pZCkKICAgICB2b2lkICpwOwogICAgIHVuc2lnbmVkIGludCBpOwogCi0gICAgc2l6ZSA9IHNp emVvZigqc3JhdCkgKyBzaXplb2YoKnByb2Nlc3NvcikgKiBodm1faW5mby0+bnJfdmNwdXMgKwot ICAgICAgICAgICBzaXplb2YoKm1lbW9yeSkgKiBucl92bWVtcmFuZ2VzOworICAgIHNpemUgPSBz aXplb2YoKnNyYXQpICsgc2l6ZW9mKCpwcm9jZXNzb3IpICogY29uZmlnLT5odm1pbmZvLT5ucl92 Y3B1cyArCisgICAgICAgICAgIHNpemVvZigqbWVtb3J5KSAqIGNvbmZpZy0+bnVtYS5ucl92bWVt cmFuZ2VzOwogCiAgICAgcCA9IG1lbV9hbGxvYyhzaXplLCAxNik7CiAgICAgaWYgKCAhcCApCkBA IC0yMDYsMjUgKzIwNiwyNiBAQCBzdGF0aWMgc3RydWN0IGFjcGlfMjBfc3JhdCAqY29uc3RydWN0 X3NyYXQodm9pZCkKICAgICBzcmF0LT50YWJsZV9yZXZpc2lvbiAgICAgID0gQUNQSV9TUkFUX1RB QkxFX1JFVklTSU9OOwogCiAgICAgcHJvY2Vzc29yID0gKHN0cnVjdCBhY3BpXzIwX3NyYXRfcHJv Y2Vzc29yICopKHNyYXQgKyAxKTsKLSAgICBmb3IgKCBpID0gMDsgaSA8IGh2bV9pbmZvLT5ucl92 Y3B1czsgaSsrICkKKyAgICBmb3IgKCBpID0gMDsgaSA8IGNvbmZpZy0+aHZtaW5mby0+bnJfdmNw dXM7IGkrKyApCiAgICAgewogICAgICAgICBwcm9jZXNzb3ItPnR5cGUgICAgID0gQUNQSV9QUk9D RVNTT1JfQUZGSU5JVFk7CiAgICAgICAgIHByb2Nlc3Nvci0+bGVuZ3RoICAgPSBzaXplb2YoKnBy b2Nlc3Nvcik7Ci0gICAgICAgIHByb2Nlc3Nvci0+ZG9tYWluICAgPSB2Y3B1X3RvX3Zub2RlW2ld OworICAgICAgICBwcm9jZXNzb3ItPmRvbWFpbiAgID0gY29uZmlnLT5udW1hLnZjcHVfdG9fdm5v ZGVbaV07CiAgICAgICAgIHByb2Nlc3Nvci0+YXBpY19pZCAgPSBMQVBJQ19JRChpKTsKICAgICAg ICAgcHJvY2Vzc29yLT5mbGFncyAgICA9IEFDUElfTE9DQUxfQVBJQ19BRkZJTl9FTkFCTEVEOwog ICAgICAgICBwcm9jZXNzb3IrKzsKICAgICB9CiAKICAgICBtZW1vcnkgPSAoc3RydWN0IGFjcGlf MjBfc3JhdF9tZW1vcnkgKilwcm9jZXNzb3I7Ci0gICAgZm9yICggaSA9IDA7IGkgPCBucl92bWVt cmFuZ2VzOyBpKysgKQorICAgIGZvciAoIGkgPSAwOyBpIDwgY29uZmlnLT5udW1hLm5yX3ZtZW1y YW5nZXM7IGkrKyApCiAgICAgewogICAgICAgICBtZW1vcnktPnR5cGUgICAgICAgICAgPSBBQ1BJ X01FTU9SWV9BRkZJTklUWTsKICAgICAgICAgbWVtb3J5LT5sZW5ndGggICAgICAgID0gc2l6ZW9m KCptZW1vcnkpOwotICAgICAgICBtZW1vcnktPmRvbWFpbiAgICAgICAgPSB2bWVtcmFuZ2VbaV0u bmlkOworICAgICAgICBtZW1vcnktPmRvbWFpbiAgICAgICAgPSBjb25maWctPm51bWEudm1lbXJh bmdlW2ldLm5pZDsKICAgICAgICAgbWVtb3J5LT5mbGFncyAgICAgICAgID0gQUNQSV9NRU1fQUZG SU5fRU5BQkxFRDsKLSAgICAgICAgbWVtb3J5LT5iYXNlX2FkZHJlc3MgID0gdm1lbXJhbmdlW2ld LnN0YXJ0OwotICAgICAgICBtZW1vcnktPm1lbV9sZW5ndGggICAgPSB2bWVtcmFuZ2VbaV0uZW5k IC0gdm1lbXJhbmdlW2ldLnN0YXJ0OworICAgICAgICBtZW1vcnktPmJhc2VfYWRkcmVzcyAgPSBj b25maWctPm51bWEudm1lbXJhbmdlW2ldLnN0YXJ0OworICAgICAgICBtZW1vcnktPm1lbV9sZW5n dGggICAgPSBjb25maWctPm51bWEudm1lbXJhbmdlW2ldLmVuZCAtCisgICAgICAgICAgICBjb25m aWctPm51bWEudm1lbXJhbmdlW2ldLnN0YXJ0OwogICAgICAgICBtZW1vcnkrKzsKICAgICB9CiAK QEAgLTIzNiwxMiArMjM3LDEyIEBAIHN0YXRpYyBzdHJ1Y3QgYWNwaV8yMF9zcmF0ICpjb25zdHJ1 Y3Rfc3JhdCh2b2lkKQogICAgIHJldHVybiBzcmF0OwogfQogCi1zdGF0aWMgc3RydWN0IGFjcGlf MjBfc2xpdCAqY29uc3RydWN0X3NsaXQodm9pZCkKK3N0YXRpYyBzdHJ1Y3QgYWNwaV8yMF9zbGl0 ICpjb25zdHJ1Y3Rfc2xpdChzdHJ1Y3QgYWNwaV9jb25maWcgKmNvbmZpZykKIHsKICAgICBzdHJ1 Y3QgYWNwaV8yMF9zbGl0ICpzbGl0OwogICAgIHVuc2lnbmVkIGludCBpLCBudW0sIHNpemU7CiAK LSAgICBudW0gPSBucl92bm9kZXMgKiBucl92bm9kZXM7CisgICAgbnVtID0gY29uZmlnLT5udW1h Lm5yX3Zub2RlcyAqIGNvbmZpZy0+bnVtYS5ucl92bm9kZXM7CiAgICAgc2l6ZSA9IHNpemVvZigq c2xpdCkgKyBudW0gKiBzaXplb2YodWludDhfdCk7CiAKICAgICBzbGl0ID0gbWVtX2FsbG9jKHNp emUsIDE2KTsKQEAgLTI1OCw5ICsyNTksOSBAQCBzdGF0aWMgc3RydWN0IGFjcGlfMjBfc2xpdCAq Y29uc3RydWN0X3NsaXQodm9pZCkKICAgICBzbGl0LT5oZWFkZXIuY3JlYXRvcl9yZXZpc2lvbiA9 IEFDUElfQ1JFQVRPUl9SRVZJU0lPTjsKIAogICAgIGZvciAoIGkgPSAwOyBpIDwgbnVtOyBpKysg KQotICAgICAgICBzbGl0LT5lbnRyeVtpXSA9IHZkaXN0YW5jZVtpXTsKKyAgICAgICAgc2xpdC0+ ZW50cnlbaV0gPSBjb25maWctPm51bWEudmRpc3RhbmNlW2ldOwogCi0gICAgc2xpdC0+bG9jYWxp dGllcyA9IG5yX3Zub2RlczsKKyAgICBzbGl0LT5sb2NhbGl0aWVzID0gY29uZmlnLT5udW1hLm5y X3Zub2RlczsKIAogICAgIHNsaXQtPmhlYWRlci5sZW5ndGggPSBzaXplOwogICAgIHNldF9jaGVj a3N1bShzbGl0LCBvZmZzZXRvZihzdHJ1Y3QgYWNwaV9oZWFkZXIsIGNoZWNrc3VtKSwgc2l6ZSk7 CkBAIC0zMjAsOSArMzIxLDkgQEAgc3RhdGljIGludCBjb25zdHJ1Y3Rfc2Vjb25kYXJ5X3RhYmxl cyh1bnNpZ25lZCBsb25nICp0YWJsZV9wdHJzLAogICAgIHZvaWQgKmxhc2E7CiAKICAgICAvKiBN QURULiAqLwotICAgIGlmICggKGh2bV9pbmZvLT5ucl92Y3B1cyA+IDEpIHx8IGh2bV9pbmZvLT5h cGljX21vZGUgKQorICAgIGlmICggKGNvbmZpZy0+aHZtaW5mby0+bnJfdmNwdXMgPiAxKSB8fCBj b25maWctPmh2bWluZm8tPmFwaWNfbW9kZSApCiAgICAgewotICAgICAgICBtYWR0ID0gY29uc3Ry dWN0X21hZHQoJmNvbmZpZy0+YWluZm8pOworICAgICAgICBtYWR0ID0gY29uc3RydWN0X21hZHQo Y29uZmlnKTsKICAgICAgICAgaWYgKCFtYWR0KSByZXR1cm4gLTE7CiAgICAgICAgIHRhYmxlX3B0 cnNbbnJfdGFibGVzKytdID0gKHVuc2lnbmVkIGxvbmcpbWFkdDsKICAgICB9CkBAIC00MDQsMTAg KzQwNSwxMCBAQCBzdGF0aWMgaW50IGNvbnN0cnVjdF9zZWNvbmRhcnlfdGFibGVzKHVuc2lnbmVk IGxvbmcgKnRhYmxlX3B0cnMsCiAgICAgfQogCiAgICAgLyogU1JBVCBhbmQgU0xJVCAqLwotICAg IGlmICggbnJfdm5vZGVzID4gMCApCisgICAgaWYgKCBjb25maWctPm51bWEubnJfdm5vZGVzID4g MCApCiAgICAgewotICAgICAgICBzdHJ1Y3QgYWNwaV8yMF9zcmF0ICpzcmF0ID0gY29uc3RydWN0 X3NyYXQoKTsKLSAgICAgICAgc3RydWN0IGFjcGlfMjBfc2xpdCAqc2xpdCA9IGNvbnN0cnVjdF9z bGl0KCk7CisgICAgICAgIHN0cnVjdCBhY3BpXzIwX3NyYXQgKnNyYXQgPSBjb25zdHJ1Y3Rfc3Jh dChjb25maWcpOworICAgICAgICBzdHJ1Y3QgYWNwaV8yMF9zbGl0ICpzbGl0ID0gY29uc3RydWN0 X3NsaXQoY29uZmlnKTsKIAogICAgICAgICBpZiAoIHNyYXQgKQogICAgICAgICAgICAgdGFibGVf cHRyc1tucl90YWJsZXMrK10gPSAodW5zaWduZWQgbG9uZylzcmF0OwpAQCAtNDgzLDcgKzQ4NCw3 IEBAIHZvaWQgYWNwaV9idWlsZF90YWJsZXMoc3RydWN0IGFjcGlfY29uZmlnICpjb25maWcpCiAg ICAgICogVGhlIGxhdHRlciBpcyByZXF1aXJlZCBmb3IgV2luZG93cyAyMDAwLCB3aGljaCBleHBl cmllbmNlcyBhIEJTT0Qgb2YKICAgICAgKiBLTU9ERV9FWENFUFRJT05fTk9UX0hBTkRMRUQgaWYg aXQgc2VlcyBtb3JlIHRoYW4gMTUgcHJvY2Vzc29yIG9iamVjdHMuCiAgICAgICovCi0gICAgaWYg KCBodm1faW5mby0+bnJfdmNwdXMgPD0gMTUgJiYgY29uZmlnLT5kc2R0XzE1Y3B1KQorICAgIGlm ICggY29uZmlnLT5odm1pbmZvLT5ucl92Y3B1cyA8PSAxNSAmJiBjb25maWctPmRzZHRfMTVjcHUp CiAgICAgewogICAgICAgICBkc2R0ID0gbWVtX2FsbG9jKGNvbmZpZy0+ZHNkdF8xNWNwdV9sZW4s IDE2KTsKICAgICAgICAgaWYgKCFkc2R0KSBnb3RvIG9vbTsKZGlmZiAtLWdpdCBhL3Rvb2xzL2Zp cm13YXJlL2h2bWxvYWRlci9hY3BpL2xpYmFjcGkuaCBiL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRl ci9hY3BpL2xpYmFjcGkuaAppbmRleCAwNWU2YzY5Li45ZDI4YmE3IDEwMDY0NAotLS0gYS90b29s cy9maXJtd2FyZS9odm1sb2FkZXIvYWNwaS9saWJhY3BpLmgKKysrIGIvdG9vbHMvZmlybXdhcmUv aHZtbG9hZGVyL2FjcGkvbGliYWNwaS5oCkBAIC0yOCw2ICsyOCw4IEBACiAjaWZuZGVmIF9fTElC QUNQSV9IX18KICNkZWZpbmUgX19MSUJBQ1BJX0hfXwogCisjaW5jbHVkZSA8eGVuL21lbW9yeS5o PgorCiAvKiBGbGFncyBpbmRpY2F0aW5nIHdoaWNoIHRhYmxlcyB0byBidWlsZCAqLwogI2RlZmlu ZSBBQ1BJX0JVSUxEX1NTRFRfUE0gICAgICAgICgxPDwwKQogI2RlZmluZSBBQ1BJX0JVSUxEX1NT RFRfUzMgICAgICAgICgxPDwxKQpAQCAtNTEsNiArNTMsMTQgQEAgc3RydWN0IGFjcGlfaW5mbyB7 CiAgICAgdWludDY0X3QgcGNpX2hpX21pbiwgcGNpX2hpX2xlbjsgLyogMjQsIDMyIC0gUENJIEkv TyBob2xlIGJvdW5kYXJpZXMgKi8KIH07CiAKK3N0cnVjdCBhY3BpX251bWEgeworICAgIHVpbnQz Ml90IG5yX3ZtZW1yYW5nZXM7CisgICAgdWludDMyX3QgbnJfdm5vZGVzOworICAgIHVuc2lnbmVk IGludCAqdmNwdV90b192bm9kZTsKKyAgICB1bnNpZ25lZCBpbnQgKnZkaXN0YW5jZTsKKyAgICB4 ZW5fdm1lbXJhbmdlX3QgKnZtZW1yYW5nZTsKK307CisKIHN0cnVjdCBhY3BpX2NvbmZpZyB7CiAg ICAgY29uc3QgdW5zaWduZWQgY2hhciAqZHNkdF9hbnljcHU7CiAgICAgdW5zaWduZWQgaW50IGRz ZHRfYW55Y3B1X2xlbjsKQEAgLTY2LDYgKzc2LDkgQEAgc3RydWN0IGFjcGlfY29uZmlnIHsKICAg ICAgICAgdWludDMyX3QgcHRfbGVuZ3RoOwogICAgIH0gcHQ7CiAKKyAgICBzdHJ1Y3QgYWNwaV9u dW1hIG51bWE7CisgICAgc3RydWN0IGh2bV9pbmZvX3RhYmxlICpodm1pbmZvOworCiAgICAgLyog TWF5IGhhdmUgc29tZSBmaWVsZHMgdXBkYXRlZCBieSBhY3BpX2J1aWxkX3RhYmxlKCkgKi8KICAg ICBzdHJ1Y3QgYWNwaV9pbmZvIGFpbmZvOwogICAgIC8qCmRpZmYgLS1naXQgYS90b29scy9maXJt d2FyZS9odm1sb2FkZXIvdXRpbC5jIGIvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3V0aWwuYwpp bmRleCAxODY0ZDdhLi4wMjBjZjFkIDEwMDY0NAotLS0gYS90b29scy9maXJtd2FyZS9odm1sb2Fk ZXIvdXRpbC5jCisrKyBiL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci91dGlsLmMKQEAgLTIxLDYg KzIxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJoeXBlcmNhbGwuaCIKICNp bmNsdWRlICJjdHlwZS5oIgorI2luY2x1ZGUgInZudW1hLmgiCiAjaW5jbHVkZSAiYWNwaS9hY3Bp Ml8wLmgiCiAjaW5jbHVkZSAiYWNwaS9saWJhY3BpLmgiCiAjaW5jbHVkZSA8c3RkaW50Lmg+CkBA IC05MTMsNiArOTE0LDE0IEBAIHZvaWQgaHZtbG9hZGVyX2FjcGlfYnVpbGRfdGFibGVzKHN0cnVj dCBhY3BpX2NvbmZpZyAqY29uZmlnLAogICAgIGlmICggIXN0cm5jbXAoeGVuc3RvcmVfcmVhZCgi cGxhdGZvcm0vYWNwaV9zNCIsICIxIiksICIxIiwgMSkgICkKICAgICAgICAgY29uZmlnLT50YWJs ZV9mbGFncyB8PSBBQ1BJX0JVSUxEX1NTRFRfUzQ7CiAKKyAgICBjb25maWctPm51bWEubnJfdm1l bXJhbmdlcyA9IG5yX3ZtZW1yYW5nZXM7CisgICAgY29uZmlnLT5udW1hLm5yX3Zub2RlcyA9IG5y X3Zub2RlczsKKyAgICBjb25maWctPm51bWEudmNwdV90b192bm9kZSA9IHZjcHVfdG9fdm5vZGU7 CisgICAgY29uZmlnLT5udW1hLnZkaXN0YW5jZSA9IHZkaXN0YW5jZTsKKyAgICBjb25maWctPm51 bWEudm1lbXJhbmdlID0gdm1lbXJhbmdlOworCisgICAgY29uZmlnLT5odm1pbmZvID0gaHZtX2lu Zm87CisKICAgICBjb25maWctPnJzZHAgPSBwaHlzaWNhbDsKICAgICBjb25maWctPmFpbmZvcCA9 IEFDUElfSU5GT19QSFlTSUNBTF9BRERSRVNTOwogCi0tIAoxLjcuMQoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK WGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=