From: Samuel Ortiz Subject: [PATCH v5 08/24] hw: acpi: Factorize _OSC AML across architectures Date: Mon, 5 Nov 2018 02:40:31 +0100 Message-ID: <20181105014047.26447-9-sameo@linux.intel.com> References: <20181105014047.26447-1-sameo@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gJTuH-0003hb-Ds for xen-devel@lists.xenproject.org; Mon, 05 Nov 2018 01:42:21 +0000 In-Reply-To: <20181105014047.26447-1-sameo@linux.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: qemu-devel@nongnu.org Cc: Yang Zhong , Peter Maydell , Stefano Stabellini , Eduardo Habkost , "Michael S. Tsirkin" , Shannon Zhao , Igor Mammedov , qemu-arm@nongnu.org, Marcel Apfelbaum , Paolo Bonzini , Anthony Perard , xen-devel@lists.xenproject.org, Richard Henderson List-Id: xen-devel@lists.xenproject.org RnJvbTogWWFuZyBaaG9uZyA8eWFuZy56aG9uZ0BpbnRlbC5jb20+CgpUaGUgX09TQyBBTUwgdGFi bGUgaXMgYWxtb3N0IGlkZW50aWNhbCBiZXR3ZWVuIHRoZSBpMzg2IFEzNSBhbmQgYXJtIHZpcnQK bWFjaGluZSB0eXBlcy4gV2UgY2FuIG1ha2UgaXQgc2xpZ2h0bHkgbW9yZSBnZW5lcmljIGFuZCBz aGFyZSBpdCBhY3Jvc3MKYWxsIFBDSWUgYXJjaGl0ZWN0dXJlcy4KClNpZ25lZC1vZmYtYnk6IFlh bmcgWmhvbmcgPHlhbmcuemhvbmdAaW50ZWwuY29tPgotLS0KIGluY2x1ZGUvaHcvYWNwaS9hY3Bp LWRlZnMuaCB8IDE0ICsrKysrKysKIGluY2x1ZGUvaHcvYWNwaS9hbWwtYnVpbGQuaCB8ICAyICst CiBody9hY3BpL2FtbC1idWlsZC5jICAgICAgICAgfCA4NCArKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tCiBody9hcm0vdmlydC1hY3BpLWJ1aWxkLmMgICAgfCA0NSArKy0tLS0t LS0tLS0tLS0tLS0tLQogaHcvaTM4Ni9hY3BpLWJ1aWxkLmMgICAgICAgIHwgIDYgKystCiA1IGZp bGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDg1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2luY2x1ZGUvaHcvYWNwaS9hY3BpLWRlZnMuaCBiL2luY2x1ZGUvaHcvYWNwaS9hY3BpLWRl ZnMuaAppbmRleCBhZjhlMDIzOTY4Li42ZTE3MjZlMGEyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2h3 L2FjcGkvYWNwaS1kZWZzLmgKKysrIGIvaW5jbHVkZS9ody9hY3BpL2FjcGktZGVmcy5oCkBAIC02 NTIsNCArNjUyLDE4IEBAIHN0cnVjdCBBY3BpSW9ydFJDIHsKIH0gUUVNVV9QQUNLRUQ7CiB0eXBl ZGVmIHN0cnVjdCBBY3BpSW9ydFJDIEFjcGlJb3J0UkM7CiAKKy8qIF9PU0MgKi8KKworI2RlZmlu ZSBBQ1BJX09TQ19DVFJMX1BDSUVfTkFUSVZFX0hQICgxIDw8IDApCisjZGVmaW5lIEFDUElfT1ND X0NUUkxfU0hQQ19OQVRJVkVfSFAgKDEgPDwgMSkKKyNkZWZpbmUgQUNQSV9PU0NfQ1RSTF9QQ0lF X1BNX0VWVCAgICAoMSA8PCAyKQorI2RlZmluZSBBQ1BJX09TQ19DVFJMX1BDSUVfQUVSICAgICAg ICgxIDw8IDMpCisjZGVmaW5lIEFDUElfT1NDX0NUUkxfUENJRV9DQVBfQ1RSTCAgKDEgPDwgNCkK KyNkZWZpbmUgQUNQSV9PU0NfQ1RSTF9QQ0lfQUxMIFwKKyAgICAoQUNQSV9PU0NfQ1RSTF9QQ0lF X05BVElWRV9IUCB8ICAgICAgICAgICAgIFwKKyAgICAgQUNQSV9PU0NfQ1RSTF9TSFBDX05BVElW RV9IUCB8ICAgICAgICAgICAgIFwKKyAgICAgQUNQSV9PU0NfQ1RSTF9QQ0lFX1BNX0VWVCB8ICAg ICAgICAgICAgICAgIFwKKyAgICAgQUNQSV9PU0NfQ1RSTF9QQ0lFX0FFUiB8ICAgICAgICAgICAg ICAgICAgIFwKKyAgICAgQUNQSV9PU0NfQ1RSTF9QQ0lFX0NBUF9DVFJMKQorCiAjZW5kaWYKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvaHcvYWNwaS9hbWwtYnVpbGQuaCBiL2luY2x1ZGUvaHcvYWNwaS9h bWwtYnVpbGQuaAppbmRleCA0ZjY3OGM0NWE1Li5jMjdjMDkzNWFlIDEwMDY0NAotLS0gYS9pbmNs dWRlL2h3L2FjcGkvYW1sLWJ1aWxkLmgKKysrIGIvaW5jbHVkZS9ody9hY3BpL2FtbC1idWlsZC5o CkBAIC00MDUsNyArNDA1LDcgQEAgdm9pZCBhY3BpX2FsaWduX3NpemUoR0FycmF5ICpibG9iLCB1 bnNpZ25lZCBhbGlnbik7CiB2b2lkIGFjcGlfYWRkX3RhYmxlKEdBcnJheSAqdGFibGVfb2Zmc2V0 cywgR0FycmF5ICp0YWJsZV9kYXRhKTsKIHZvaWQgYWNwaV9idWlsZF90YWJsZXNfaW5pdChBY3Bp QnVpbGRUYWJsZXMgKnRhYmxlcyk7CiB2b2lkIGFjcGlfYnVpbGRfdGFibGVzX2NsZWFudXAoQWNw aUJ1aWxkVGFibGVzICp0YWJsZXMsIGJvb2wgbWZyZSk7Ci1BbWwgKmJ1aWxkX29zY19tZXRob2Qo dm9pZCk7CitBbWwgKmJ1aWxkX29zY19tZXRob2QodWludDMyX3QgdmFsdWUpOwogdm9pZCBidWls ZF9tY2ZnKEdBcnJheSAqdGFibGVfZGF0YSwgQklPU0xpbmtlciAqbGlua2VyLCBBY3BpTWNmZ0lu Zm8gKmluZm8pOwogQW1sICpidWlsZF9nc2lfbGlua19kZXYoY29uc3QgY2hhciAqbmFtZSwgdWlu dDhfdCB1aWQsIHVpbnQ4X3QgZ3NpKTsKIEFtbCAqYnVpbGRfcHJ0KGJvb2wgaXNfcGNpMF9wcnQp OwpkaWZmIC0tZ2l0IGEvaHcvYWNwaS9hbWwtYnVpbGQuYyBiL2h3L2FjcGkvYW1sLWJ1aWxkLmMK aW5kZXggZDMyNDJjNmIzMS4uMmI5YTYzNmU3NSAxMDA2NDQKLS0tIGEvaHcvYWNwaS9hbWwtYnVp bGQuYworKysgYi9ody9hY3BpL2FtbC1idWlsZC5jCkBAIC0xODY5LDUxICsxODY5LDU1IEBAIEFt bCAqYnVpbGRfY3JzKFBDSUhvc3RTdGF0ZSAqaG9zdCwgQ3JzUmFuZ2VTZXQgKnJhbmdlX3NldCkK ICAgICByZXR1cm4gY3JzOwogfQogCi1BbWwgKmJ1aWxkX29zY19tZXRob2Qodm9pZCkKKy8qCisg KiBjdHJsX21hc2sgaXMgdGhlIF9PU0MgY2FwYWJpbGl0aWVzIGJ1ZmZlciBjb250cm9sIGZpZWxk IG1hc2suCisgKi8KK0FtbCAqYnVpbGRfb3NjX21ldGhvZCh1aW50MzJfdCBjdHJsX21hc2spCiB7 Ci0gICAgQW1sICppZl9jdHg7Ci0gICAgQW1sICppZl9jdHgyOwotICAgIEFtbCAqZWxzZV9jdHg7 Ci0gICAgQW1sICptZXRob2Q7Ci0gICAgQW1sICphX2N3ZDEgPSBhbWxfbmFtZSgiQ0RXMSIpOwot ICAgIEFtbCAqYV9jdHJsID0gYW1sX2xvY2FsKDApOworICAgIEFtbCAqaWZjdHgsICppZmN0eDEs ICplbHNlY3R4LCAqbWV0aG9kLCAqVVVJRDsKIAogICAgIG1ldGhvZCA9IGFtbF9tZXRob2QoIl9P U0MiLCA0LCBBTUxfTk9UU0VSSUFMSVpFRCk7Ci0gICAgYW1sX2FwcGVuZChtZXRob2QsIGFtbF9j cmVhdGVfZHdvcmRfZmllbGQoYW1sX2FyZygzKSwgYW1sX2ludCgwKSwgIkNEVzEiKSk7Ci0KLSAg ICBpZl9jdHggPSBhbWxfaWYoYW1sX2VxdWFsKAotICAgICAgICBhbWxfYXJnKDApLCBhbWxfdG91 dWlkKCIzM0RCNEQ1Qi0xRkY3LTQwMUMtOTY1Ny03NDQxQzAzREQ3NjYiKSkpOwotICAgIGFtbF9h cHBlbmQoaWZfY3R4LCBhbWxfY3JlYXRlX2R3b3JkX2ZpZWxkKGFtbF9hcmcoMyksIGFtbF9pbnQo NCksICJDRFcyIikpOwotICAgIGFtbF9hcHBlbmQoaWZfY3R4LCBhbWxfY3JlYXRlX2R3b3JkX2Zp ZWxkKGFtbF9hcmcoMyksIGFtbF9pbnQoOCksICJDRFczIikpOwotCi0gICAgYW1sX2FwcGVuZChp Zl9jdHgsIGFtbF9zdG9yZShhbWxfbmFtZSgiQ0RXMyIpLCBhX2N0cmwpKTsKLQotICAgIC8qCi0g ICAgICogQWx3YXlzIGFsbG93IG5hdGl2ZSBQTUUsIEFFUiAobm8gZGVwZW5kZW5jaWVzKQotICAg ICAqIEFsbG93IFNIUEMgKFBDSSBicmlkZ2VzIGNhbiBoYXZlIFNIUEMgY29udHJvbGxlcikKKyAg ICBhbWxfYXBwZW5kKG1ldGhvZCwKKyAgICAgICAgYW1sX2NyZWF0ZV9kd29yZF9maWVsZChhbWxf YXJnKDMpLCBhbWxfaW50KDApLCAiQ0RXMSIpKTsKKworICAgIC8qIFBDSSBGaXJtd2FyZSBTcGVj aWZpY2F0aW9uIDMuMAorICAgICAqIDQuNS4xLiBfT1NDIEludGVyZmFjZSBmb3IgUENJIEhvc3Qg QnJpZGdlIERldmljZXMKKyAgICAgKiBUaGUgX09TQyBpbnRlcmZhY2UgZm9yIGEgUENJL1BDSS1Y L1BDSSBFeHByZXNzIGhpZXJhcmNoeSBpcworICAgICAqIGlkZW50aWZpZWQgYnkgdGhlIFVuaXZl cnNhbCBVbmlxdWUgSURlbnRpZmllciAoVVVJRCkKKyAgICAgKiAzM0RCNEQ1Qi0xRkY3LTQwMUMt OTY1Ny03NDQxQzAzREQ3NjYKICAgICAgKi8KLSAgICBhbWxfYXBwZW5kKGlmX2N0eCwgYW1sX2Fu ZChhX2N0cmwsIGFtbF9pbnQoMHgxRiksIGFfY3RybCkpOwotCi0gICAgaWZfY3R4MiA9IGFtbF9p ZihhbWxfbG5vdChhbWxfZXF1YWwoYW1sX2FyZygxKSwgYW1sX2ludCgxKSkpKTsKLSAgICAvKiBV bmtub3duIHJldmlzaW9uICovCi0gICAgYW1sX2FwcGVuZChpZl9jdHgyLCBhbWxfb3IoYV9jd2Qx LCBhbWxfaW50KDB4MDgpLCBhX2N3ZDEpKTsKLSAgICBhbWxfYXBwZW5kKGlmX2N0eCwgaWZfY3R4 Mik7Ci0KLSAgICBpZl9jdHgyID0gYW1sX2lmKGFtbF9sbm90KGFtbF9lcXVhbChhbWxfbmFtZSgi Q0RXMyIpLCBhX2N0cmwpKSk7Ci0gICAgLyogQ2FwYWJpbGl0aWVzIGJpdHMgd2VyZSBtYXNrZWQg Ki8KLSAgICBhbWxfYXBwZW5kKGlmX2N0eDIsIGFtbF9vcihhX2N3ZDEsIGFtbF9pbnQoMHgxMCks IGFfY3dkMSkpOwotICAgIGFtbF9hcHBlbmQoaWZfY3R4LCBpZl9jdHgyKTsKLQotICAgIC8qIFVw ZGF0ZSBEV09SRDMgaW4gdGhlIGJ1ZmZlciAqLwotICAgIGFtbF9hcHBlbmQoaWZfY3R4LCBhbWxf c3RvcmUoYV9jdHJsLCBhbWxfbmFtZSgiQ0RXMyIpKSk7Ci0gICAgYW1sX2FwcGVuZChtZXRob2Qs IGlmX2N0eCk7Ci0KLSAgICBlbHNlX2N0eCA9IGFtbF9lbHNlKCk7Ci0gICAgLyogVW5yZWNvZ25p emVkIFVVSUQgKi8KLSAgICBhbWxfYXBwZW5kKGVsc2VfY3R4LCBhbWxfb3IoYV9jd2QxLCBhbWxf aW50KDQpLCBhX2N3ZDEpKTsKLSAgICBhbWxfYXBwZW5kKG1ldGhvZCwgZWxzZV9jdHgpOworICAg IFVVSUQgPSBhbWxfdG91dWlkKCIzM0RCNEQ1Qi0xRkY3LTQwMUMtOTY1Ny03NDQxQzAzREQ3NjYi KTsKKyAgICBpZmN0eCA9IGFtbF9pZihhbWxfZXF1YWwoYW1sX2FyZygwKSwgVVVJRCkpOworICAg IGFtbF9hcHBlbmQoaWZjdHgsCisgICAgICAgIGFtbF9jcmVhdGVfZHdvcmRfZmllbGQoYW1sX2Fy ZygzKSwgYW1sX2ludCg0KSwgIkNEVzIiKSk7CisgICAgYW1sX2FwcGVuZChpZmN0eCwKKyAgICAg ICAgYW1sX2NyZWF0ZV9kd29yZF9maWVsZChhbWxfYXJnKDMpLCBhbWxfaW50KDgpLCAiQ0RXMyIp KTsKKyAgICBhbWxfYXBwZW5kKGlmY3R4LCBhbWxfc3RvcmUoYW1sX25hbWUoIkNEVzIiKSwgYW1s X25hbWUoIlNVUFAiKSkpOworICAgIGFtbF9hcHBlbmQoaWZjdHgsIGFtbF9zdG9yZShhbWxfbmFt ZSgiQ0RXMyIpLCBhbWxfbmFtZSgiQ1RSTCIpKSk7CisgICAgYW1sX2FwcGVuZChpZmN0eCwgYW1s X3N0b3JlKGFtbF9hbmQoYW1sX25hbWUoIkNUUkwiKSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBhbWxfaW50KGN0cmxfbWFzayksIE5VTEwpLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBhbWxfbmFtZSgiQ1RSTCIpKSk7CisKKyAgICBpZmN0eDEgPSBh bWxfaWYoYW1sX2xub3QoYW1sX2VxdWFsKGFtbF9hcmcoMSksIGFtbF9pbnQoMHgxKSkpKTsKKyAg ICBhbWxfYXBwZW5kKGlmY3R4MSwgYW1sX3N0b3JlKGFtbF9vcihhbWxfbmFtZSgiQ0RXMSIpLCBh bWxfaW50KDB4MDgpLCBOVUxMKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFt bF9uYW1lKCJDRFcxIikpKTsKKyAgICBhbWxfYXBwZW5kKGlmY3R4LCBpZmN0eDEpOworCisgICAg aWZjdHgxID0gYW1sX2lmKGFtbF9sbm90KGFtbF9lcXVhbChhbWxfbmFtZSgiQ0RXMyIpLCBhbWxf bmFtZSgiQ1RSTCIpKSkpOworICAgIGFtbF9hcHBlbmQoaWZjdHgxLCBhbWxfc3RvcmUoYW1sX29y KGFtbF9uYW1lKCJDRFcxIiksIGFtbF9pbnQoMHgxMCksIE5VTEwpLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYW1sX25hbWUoIkNEVzEiKSkpOworICAgIGFtbF9hcHBlbmQoaWZj dHgsIGlmY3R4MSk7CisKKyAgICBhbWxfYXBwZW5kKGlmY3R4LCBhbWxfc3RvcmUoYW1sX25hbWUo IkNUUkwiKSwgYW1sX25hbWUoIkNEVzMiKSkpOworICAgIGFtbF9hcHBlbmQoaWZjdHgsIGFtbF9y ZXR1cm4oYW1sX2FyZygzKSkpOworICAgIGFtbF9hcHBlbmQobWV0aG9kLCBpZmN0eCk7CisKKyAg ICBlbHNlY3R4ID0gYW1sX2Vsc2UoKTsKKyAgICBhbWxfYXBwZW5kKGVsc2VjdHgsIGFtbF9zdG9y ZShhbWxfb3IoYW1sX25hbWUoIkNEVzEiKSwgYW1sX2ludCg0KSwgTlVMTCksCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYW1sX25hbWUoIkNEVzEiKSkpOworICAgIGFtbF9hcHBl bmQoZWxzZWN0eCwgYW1sX3JldHVybihhbWxfYXJnKDMpKSk7CisgICAgYW1sX2FwcGVuZChtZXRo b2QsIGVsc2VjdHgpOwogCi0gICAgYW1sX2FwcGVuZChtZXRob2QsIGFtbF9yZXR1cm4oYW1sX2Fy ZygzKSkpOwogICAgIHJldHVybiBtZXRob2Q7CiB9CiAKZGlmZiAtLWdpdCBhL2h3L2FybS92aXJ0 LWFjcGktYnVpbGQuYyBiL2h3L2FybS92aXJ0LWFjcGktYnVpbGQuYwppbmRleCBjOWI0OTE2YmE3 Li5iNWUxNjU1NDNhIDEwMDY0NAotLS0gYS9ody9hcm0vdmlydC1hY3BpLWJ1aWxkLmMKKysrIGIv aHcvYXJtL3ZpcnQtYWNwaS1idWlsZC5jCkBAIC0xNTMsNyArMTUzLDcgQEAgc3RhdGljIHZvaWQg YWNwaV9kc2R0X2FkZF9wY2koQW1sICpzY29wZSwgY29uc3QgTWVtTWFwRW50cnkgKm1lbW1hcCwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlycSwgYm9vbCB1c2VfaGln aG1lbSwgYm9vbCBoaWdobWVtX2VjYW0pCiB7CiAgICAgaW50IGVjYW1faWQgPSBWSVJUX0VDQU1f SUQoaGlnaG1lbV9lY2FtKTsKLSAgICBBbWwgKm1ldGhvZCwgKmNycywgKmlmY3R4LCAqVVVJRCwg KmlmY3R4MSwgKmVsc2VjdHgsICpidWY7CisgICAgQW1sICptZXRob2QsICpjcnMsICppZmN0eCwg KlVVSUQsICppZmN0eDEsICpidWY7CiAgICAgaW50IGksIGJ1c19ubzsKICAgICBod2FkZHIgYmFz ZV9tbWlvID0gbWVtbWFwW1ZJUlRfUENJRV9NTUlPXS5iYXNlOwogICAgIGh3YWRkciBzaXplX21t aW8gPSBtZW1tYXBbVklSVF9QQ0lFX01NSU9dLnNpemU7CkBAIC0yNDcsNDcgKzI0Nyw4IEBAIHN0 YXRpYyB2b2lkIGFjcGlfZHNkdF9hZGRfcGNpKEFtbCAqc2NvcGUsIGNvbnN0IE1lbU1hcEVudHJ5 ICptZW1tYXAsCiAgICAgLyogRGVjbGFyZSBhbiBfT1NDIChPUyBDb250cm9sIEhhbmRvZmYpIG1l dGhvZCAqLwogICAgIGFtbF9hcHBlbmQoZGV2LCBhbWxfbmFtZV9kZWNsKCJTVVBQIiwgYW1sX2lu dCgwKSkpOwogICAgIGFtbF9hcHBlbmQoZGV2LCBhbWxfbmFtZV9kZWNsKCJDVFJMIiwgYW1sX2lu dCgwKSkpOwotICAgIG1ldGhvZCA9IGFtbF9tZXRob2QoIl9PU0MiLCA0LCBBTUxfTk9UU0VSSUFM SVpFRCk7Ci0gICAgYW1sX2FwcGVuZChtZXRob2QsCi0gICAgICAgIGFtbF9jcmVhdGVfZHdvcmRf ZmllbGQoYW1sX2FyZygzKSwgYW1sX2ludCgwKSwgIkNEVzEiKSk7Ci0KLSAgICAvKiBQQ0kgRmly bXdhcmUgU3BlY2lmaWNhdGlvbiAzLjAKLSAgICAgKiA0LjUuMS4gX09TQyBJbnRlcmZhY2UgZm9y IFBDSSBIb3N0IEJyaWRnZSBEZXZpY2VzCi0gICAgICogVGhlIF9PU0MgaW50ZXJmYWNlIGZvciBh IFBDSS9QQ0ktWC9QQ0kgRXhwcmVzcyBoaWVyYXJjaHkgaXMKLSAgICAgKiBpZGVudGlmaWVkIGJ5 IHRoZSBVbml2ZXJzYWwgVW5pcXVlIElEZW50aWZpZXIgKFVVSUQpCi0gICAgICogMzNEQjRENUIt MUZGNy00MDFDLTk2NTctNzQ0MUMwM0RENzY2Ci0gICAgICovCi0gICAgVVVJRCA9IGFtbF90b3V1 aWQoIjMzREI0RDVCLTFGRjctNDAxQy05NjU3LTc0NDFDMDNERDc2NiIpOwotICAgIGlmY3R4ID0g YW1sX2lmKGFtbF9lcXVhbChhbWxfYXJnKDApLCBVVUlEKSk7Ci0gICAgYW1sX2FwcGVuZChpZmN0 eCwKLSAgICAgICAgYW1sX2NyZWF0ZV9kd29yZF9maWVsZChhbWxfYXJnKDMpLCBhbWxfaW50KDQp LCAiQ0RXMiIpKTsKLSAgICBhbWxfYXBwZW5kKGlmY3R4LAotICAgICAgICBhbWxfY3JlYXRlX2R3 b3JkX2ZpZWxkKGFtbF9hcmcoMyksIGFtbF9pbnQoOCksICJDRFczIikpOwotICAgIGFtbF9hcHBl bmQoaWZjdHgsIGFtbF9zdG9yZShhbWxfbmFtZSgiQ0RXMiIpLCBhbWxfbmFtZSgiU1VQUCIpKSk7 Ci0gICAgYW1sX2FwcGVuZChpZmN0eCwgYW1sX3N0b3JlKGFtbF9uYW1lKCJDRFczIiksIGFtbF9u YW1lKCJDVFJMIikpKTsKLSAgICBhbWxfYXBwZW5kKGlmY3R4LCBhbWxfc3RvcmUoYW1sX2FuZChh bWxfbmFtZSgiQ1RSTCIpLCBhbWxfaW50KDB4MUQpLCBOVUxMKSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYW1sX25hbWUoIkNUUkwiKSkpOwotCi0gICAgaWZjdHgxID0gYW1sX2lm KGFtbF9sbm90KGFtbF9lcXVhbChhbWxfYXJnKDEpLCBhbWxfaW50KDB4MSkpKSk7Ci0gICAgYW1s X2FwcGVuZChpZmN0eDEsIGFtbF9zdG9yZShhbWxfb3IoYW1sX25hbWUoIkNEVzEiKSwgYW1sX2lu dCgweDA4KSwgTlVMTCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbWxfbmFt ZSgiQ0RXMSIpKSk7Ci0gICAgYW1sX2FwcGVuZChpZmN0eCwgaWZjdHgxKTsKLQotICAgIGlmY3R4 MSA9IGFtbF9pZihhbWxfbG5vdChhbWxfZXF1YWwoYW1sX25hbWUoIkNEVzMiKSwgYW1sX25hbWUo IkNUUkwiKSkpKTsKLSAgICBhbWxfYXBwZW5kKGlmY3R4MSwgYW1sX3N0b3JlKGFtbF9vcihhbWxf bmFtZSgiQ0RXMSIpLCBhbWxfaW50KDB4MTApLCBOVUxMKSwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGFtbF9uYW1lKCJDRFcxIikpKTsKLSAgICBhbWxfYXBwZW5kKGlmY3R4LCBp ZmN0eDEpOwotCi0gICAgYW1sX2FwcGVuZChpZmN0eCwgYW1sX3N0b3JlKGFtbF9uYW1lKCJDVFJM IiksIGFtbF9uYW1lKCJDRFczIikpKTsKLSAgICBhbWxfYXBwZW5kKGlmY3R4LCBhbWxfcmV0dXJu KGFtbF9hcmcoMykpKTsKLSAgICBhbWxfYXBwZW5kKG1ldGhvZCwgaWZjdHgpOwotCi0gICAgZWxz ZWN0eCA9IGFtbF9lbHNlKCk7Ci0gICAgYW1sX2FwcGVuZChlbHNlY3R4LCBhbWxfc3RvcmUoYW1s X29yKGFtbF9uYW1lKCJDRFcxIiksIGFtbF9pbnQoNCksIE5VTEwpLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGFtbF9uYW1lKCJDRFcxIikpKTsKLSAgICBhbWxfYXBwZW5kKGVs c2VjdHgsIGFtbF9yZXR1cm4oYW1sX2FyZygzKSkpOwotICAgIGFtbF9hcHBlbmQobWV0aG9kLCBl bHNlY3R4KTsKLSAgICBhbWxfYXBwZW5kKGRldiwgbWV0aG9kKTsKKyAgICBhbWxfYXBwZW5kKGRl diwgYnVpbGRfb3NjX21ldGhvZChBQ1BJX09TQ19DVFJMX1BDSV9BTEwgJgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH5BQ1BJX09TQ19DVFJMX1NIUENfTkFUSVZFX0hQKSk7 CiAKICAgICBtZXRob2QgPSBhbWxfbWV0aG9kKCJfRFNNIiwgNCwgQU1MX05PVFNFUklBTElaRUQp OwogCmRpZmYgLS1naXQgYS9ody9pMzg2L2FjcGktYnVpbGQuYyBiL2h3L2kzODYvYWNwaS1idWls ZC5jCmluZGV4IDk5NmQ4YTExZGMuLmJkMTQ3YTZiZDIgMTAwNjQ0Ci0tLSBhL2h3L2kzODYvYWNw aS1idWlsZC5jCisrKyBiL2h3L2kzODYvYWNwaS1idWlsZC5jCkBAIC0xMzM1LDcgKzEzMzUsOSBA QCBidWlsZF9kc2R0KEdBcnJheSAqdGFibGVfZGF0YSwgQklPU0xpbmtlciAqbGlua2VyLAogICAg ICAgICBhbWxfYXBwZW5kKGRldiwgYW1sX25hbWVfZGVjbCgiX0NJRCIsIGFtbF9laXNhaWQoIlBO UDBBMDMiKSkpOwogICAgICAgICBhbWxfYXBwZW5kKGRldiwgYW1sX25hbWVfZGVjbCgiX0FEUiIs IGFtbF9pbnQoMCkpKTsKICAgICAgICAgYW1sX2FwcGVuZChkZXYsIGFtbF9uYW1lX2RlY2woIl9V SUQiLCBhbWxfaW50KDEpKSk7Ci0gICAgICAgIGFtbF9hcHBlbmQoZGV2LCBidWlsZF9vc2NfbWV0 aG9kKCkpOworICAgICAgICBhbWxfYXBwZW5kKGRldiwgYW1sX25hbWVfZGVjbCgiU1VQUCIsIGFt bF9pbnQoMCkpKTsKKyAgICAgICAgYW1sX2FwcGVuZChkZXYsIGFtbF9uYW1lX2RlY2woIkNUUkwi LCBhbWxfaW50KDApKSk7CisgICAgICAgIGFtbF9hcHBlbmQoZGV2LCBidWlsZF9vc2NfbWV0aG9k KEFDUElfT1NDX0NUUkxfUENJX0FMTCkpOwogICAgICAgICBhbWxfYXBwZW5kKHNiX3Njb3BlLCBk ZXYpOwogICAgICAgICBhbWxfYXBwZW5kKGRzZHQsIHNiX3Njb3BlKTsKIApAQCAtMTQwMCw3ICsx NDAyLDcgQEAgYnVpbGRfZHNkdChHQXJyYXkgKnRhYmxlX2RhdGEsIEJJT1NMaW5rZXIgKmxpbmtl ciwKICAgICAgICAgICAgIGFtbF9hcHBlbmQoZGV2LCBhbWxfbmFtZV9kZWNsKCJfSElEIiwgYW1s X2Vpc2FpZCgiUE5QMEEwMyIpKSk7CiAgICAgICAgICAgICBhbWxfYXBwZW5kKGRldiwgYW1sX25h bWVfZGVjbCgiX0JCTiIsIGFtbF9pbnQoYnVzX251bSkpKTsKICAgICAgICAgICAgIGlmIChwY2lf YnVzX2lzX2V4cHJlc3MoYnVzKSkgewotICAgICAgICAgICAgICAgIGFtbF9hcHBlbmQoZGV2LCBi dWlsZF9vc2NfbWV0aG9kKCkpOworICAgICAgICAgICAgICAgIGFtbF9hcHBlbmQoZGV2LCBidWls ZF9vc2NfbWV0aG9kKEFDUElfT1NDX0NUUkxfUENJX0FMTCkpOwogICAgICAgICAgICAgfQogCiAg ICAgICAgICAgICBpZiAobnVtYV9ub2RlICE9IE5VTUFfTk9ERV9VTkFTU0lHTkVEKSB7Ci0tIAoy LjE5LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs