From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4AD08C04AB2 for ; Thu, 9 May 2019 17:25:59 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0AEF721019 for ; Thu, 9 May 2019 17:25:59 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="OgaV2BVA" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0AEF721019 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=oracle.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hOmnk-0000fA-RZ; Thu, 09 May 2019 17:25:48 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hOmnj-0000eD-Bs for xen-devel@lists.xenproject.org; Thu, 09 May 2019 17:25:47 +0000 X-Inumbo-ID: 7a8fd6bb-727f-11e9-8980-bc764e045a96 Received: from aserp2130.oracle.com (unknown [141.146.126.79]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 7a8fd6bb-727f-11e9-8980-bc764e045a96; Thu, 09 May 2019 17:25:45 +0000 (UTC) Received: from pps.filterd (aserp2130.oracle.com [127.0.0.1]) by aserp2130.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x49HJNDR162267; Thu, 9 May 2019 17:25:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=corp-2018-07-02; bh=zCzFQDoK69hNVAh8gq852QANu8+0XDEc/eDcX80GMqk=; b=OgaV2BVA2iW8FAFJxgTjjlCJjgqKAbnyuKTgPt7MyPWTUZEcIShqzFMgSiFsYB178J4t WePWZgCCPzdZypVU20IPA2gHQxUIxry3uq5hYU9jJWDEjhZML6l5gcIO6YvJ2mEOrora 9HEpRnMZ9X0NnHq8UYv7Q8teUybowuzcPDVy6vq0kUiZlZmZM5pPYr5GCpDCXG/qeIho g4VlX/CojoagSg9ND2/LOM0ezOpa/2RhMW3HLIs2GVZnoEWJaliFmdsgs5tSY1/142Ax zzRGYVeCzOxmfSHmUCV8+kwBWs5XisxVL7vLuuPsVIXpsIcAnWJTWkxpJN+R/4nVRWBy KQ== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by aserp2130.oracle.com with ESMTP id 2s94b6ceyu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 09 May 2019 17:25:44 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x49HPh5B086806; Thu, 9 May 2019 17:25:43 GMT Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userp3020.oracle.com with ESMTP id 2s94agwu19-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 09 May 2019 17:25:43 +0000 Received: from abhmp0008.oracle.com (abhmp0008.oracle.com [141.146.116.14]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id x49HPadr013211; Thu, 9 May 2019 17:25:36 GMT Received: from aa1-ca-oracle-com.ca.oracle.com (/10.156.75.204) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 09 May 2019 10:25:36 -0700 From: Ankur Arora To: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org Date: Thu, 9 May 2019 10:25:26 -0700 Message-Id: <20190509172540.12398-3-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190509172540.12398-1-ankur.a.arora@oracle.com> References: <20190509172540.12398-1-ankur.a.arora@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=9252 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1905090100 X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=9252 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1905090100 Subject: [Xen-devel] [RFC PATCH 02/16] x86/xen: cpuid support in xenhost_t X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: jgross@suse.com, sstabellini@kernel.org, konrad.wilk@oracle.com, ankur.a.arora@oracle.com, pbonzini@redhat.com, boris.ostrovsky@oracle.com, joao.m.martins@oracle.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Message-ID: <20190509172526.2F1VgYWfJWjIq6YNOOj-S4GeyTlR9-m4tl6KR5QkpbE@z> eGVuX2NwdWlkX2Jhc2UoKSBpcyB1c2VkIHRvIHByb2JlIGFuZCBzZXR1cCBmZWF0dXJlcyBlYXJs eSBpbiBhCmd1ZXN0J3MgbGlmZXRpbWUuCgpXZSB3YW50IHRoaXMgdG8gYmVoYXZlIGRpZmZlcmVu dGx5IGRlcGVuZGluZyBvbiB4ZW5ob3N0LT50eXBlOiBmb3IKaW5zdGFuY2UsIGxvY2FsIHhlbmhv c3RzIGNhbm5vdCBpbnRlcmNlcHQgdGhlIGNwdWlkIGluc3RydWN0aW9uIGF0IGFsbC4KCkFkZCBv cCAoKmNwdWlkX2Jhc2UpKCkgaW4geGVuaG9zdF9vcHNfdC4KClNpZ25lZC1vZmYtYnk6IEFua3Vy IEFyb3JhIDxhbmt1ci5hLmFyb3JhQG9yYWNsZS5jb20+Ci0tLQogYXJjaC94ODYvaW5jbHVkZS9h c20veGVuL2h5cGVydmlzb3IuaCB8ICAyICstCiBhcmNoL3g4Ni9wY2kveGVuLmMgICAgICAgICAg ICAgICAgICAgIHwgIDIgKy0KIGFyY2gveDg2L3hlbi9lbmxpZ2h0ZW5faHZtLmMgICAgICAgICAg fCAgNyArKysrKy0tCiBhcmNoL3g4Ni94ZW4vZW5saWdodGVuX3B2LmMgICAgICAgICAgIHwgMTYg KysrKysrKysrKysrKysrLQogYXJjaC94ODYveGVuL2VubGlnaHRlbl9wdmguYyAgICAgICAgICB8 ICA0ICsrKysKIGRyaXZlcnMvdHR5L2h2Yy9odmNfeGVuLmMgICAgICAgICAgICAgfCAgMiArLQog ZHJpdmVycy94ZW4vZ3JhbnQtdGFibGUuYyAgICAgICAgICAgICB8ICAzICsrLQogZHJpdmVycy94 ZW4veGVuYnVzL3hlbmJ1c194cy5jICAgICAgICB8ICAzICsrLQogaW5jbHVkZS94ZW4veGVuaG9z dC5oICAgICAgICAgICAgICAgICB8IDIxICsrKysrKysrKysrKysrKysrKysrKwogOSBmaWxlcyBj aGFuZ2VkLCA1MiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Fy Y2gveDg2L2luY2x1ZGUvYXNtL3hlbi9oeXBlcnZpc29yLmggYi9hcmNoL3g4Ni9pbmNsdWRlL2Fz bS94ZW4vaHlwZXJ2aXNvci5oCmluZGV4IDM5MTcxYjM2NDZiYi4uNmM0Y2RjZGY5OTdkIDEwMDY0 NAotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4vaHlwZXJ2aXNvci5oCisrKyBiL2FyY2gv eDg2L2luY2x1ZGUvYXNtL3hlbi9oeXBlcnZpc29yLmgKQEAgLTUzLDcgKzUzLDcgQEAgc3RhdGlj IGlubGluZSBib29sIHhlbl94MmFwaWNfcGFyYV9hdmFpbGFibGUodm9pZCkKICNlbHNlCiBzdGF0 aWMgaW5saW5lIGJvb2wgeGVuX3gyYXBpY19wYXJhX2F2YWlsYWJsZSh2b2lkKQogewotCXJldHVy biAoeGVuX2NwdWlkX2Jhc2UoKSAhPSAwKTsKKwlyZXR1cm4gKHhlbl9jcHVpZF9iYXNlKE5VTEwp ICE9IDApOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS94ZW4uYyBiL2Fy Y2gveDg2L3BjaS94ZW4uYwppbmRleCA5MTEyZDFjYjM5N2IuLmQxYTNiOWYwODI4OSAxMDA2NDQK LS0tIGEvYXJjaC94ODYvcGNpL3hlbi5jCisrKyBiL2FyY2gveDg2L3BjaS94ZW4uYwpAQCAtNDMx LDcgKzQzMSw3IEBAIHZvaWQgX19pbml0IHhlbl9tc2lfaW5pdCh2b2lkKQogCQkgKiBldmVudCBj aGFubmVscyBmb3IgTVNJIGhhbmRsaW5nIGFuZCBpbnN0ZWFkIHVzZSByZWd1bGFyCiAJCSAqIEFQ SUMgcHJvY2Vzc2luZwogCQkgKi8KLQkJdWludDMyX3QgZWF4ID0gY3B1aWRfZWF4KHhlbl9jcHVp ZF9iYXNlKCkgKyA0KTsKKwkJdWludDMyX3QgZWF4ID0gY3B1aWRfZWF4KHhlbmhvc3RfY3B1aWRf YmFzZSh4aF9kZWZhdWx0KSArIDQpOwogCiAJCWlmICgoKGVheCAmIFhFTl9IVk1fQ1BVSURfWDJB UElDX1ZJUlQpICYmIHgyYXBpY19tb2RlKSB8fAogCQkgICAgKChlYXggJiBYRU5fSFZNX0NQVUlE X0FQSUNfQUNDRVNTX1ZJUlQpICYmIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9BUElDKSkpCmRp ZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vZW5saWdodGVuX2h2bS5jIGIvYXJjaC94ODYveGVuL2Vu bGlnaHRlbl9odm0uYwppbmRleCAxMDA0NTJmNGY0NGMuLmZmYzU3OTE2NzViMiAxMDA2NDQKLS0t IGEvYXJjaC94ODYveGVuL2VubGlnaHRlbl9odm0uYworKysgYi9hcmNoL3g4Ni94ZW4vZW5saWdo dGVuX2h2bS5jCkBAIC04Myw3ICs4MywxMCBAQCBzdGF0aWMgdm9pZCBfX2luaXQgeGVuX2h2bV9p bml0X21lbV9tYXBwaW5nKHZvaWQpCiAJeGVuX3ZjcHVfaW5mb19yZXNldCgwKTsKIH0KIAorZXh0 ZXJuIHVpbnQzMl90IHhlbl9wdl9jcHVpZF9iYXNlKHhlbmhvc3RfdCAqeGgpOworCiB4ZW5ob3N0 X29wc190IHhoX2h2bV9vcHMgPSB7CisJLmNwdWlkX2Jhc2UgPSB4ZW5fcHZfY3B1aWRfYmFzZSwK IH07CiAKIHhlbmhvc3Rfb3BzX3QgeGhfaHZtX25lc3RlZF9vcHMgPSB7CkBAIC05NCw3ICs5Nyw3 IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBpbml0X2h2bV9wdl9pbmZvKHZvaWQpCiAJaW50IG1ham9y LCBtaW5vcjsKIAl1aW50MzJfdCBlYXgsIGVieCwgZWN4LCBlZHgsIGJhc2U7CiAKLQliYXNlID0g eGVuX2NwdWlkX2Jhc2UoKTsKKwliYXNlID0geGVuaG9zdF9jcHVpZF9iYXNlKHhoX2RlZmF1bHQp OwogCWVheCA9IGNwdWlkX2VheChiYXNlICsgMSk7CiAKIAltYWpvciA9IGVheCA+PiAxNjsKQEAg LTI1MCw3ICsyNTMsNyBAQCBzdGF0aWMgdWludDMyX3QgX19pbml0IHhlbl9wbGF0Zm9ybV9odm0o dm9pZCkKIAlpZiAoeGVuX3B2X2RvbWFpbigpIHx8IHhlbl9ub3B2KQogCQlyZXR1cm4gMDsKIAot CXJldHVybiB4ZW5fY3B1aWRfYmFzZSgpOworCXJldHVybiB4ZW5ob3N0X2NwdWlkX2Jhc2UoeGhf ZGVmYXVsdCk7CiB9CiAKIHN0YXRpYyBfX2luaXQgdm9pZCB4ZW5faHZtX2d1ZXN0X2xhdGVfaW5p dCh2b2lkKQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL2VubGlnaHRlbl9wdi5jIGIvYXJjaC94 ODYveGVuL2VubGlnaHRlbl9wdi5jCmluZGV4IGJiNmU4MTFjMTUyNS4uYTRlMDRiMGNjNTk2IDEw MDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vZW5saWdodGVuX3B2LmMKKysrIGIvYXJjaC94ODYveGVu L2VubGlnaHRlbl9wdi5jCkBAIC0xMTg5LDEwICsxMTg5LDIzIEBAIHN0YXRpYyB2b2lkIF9faW5p dCB4ZW5fZG9tMF9zZXRfbGVnYWN5X2ZlYXR1cmVzKHZvaWQpCiAJeDg2X3BsYXRmb3JtLmxlZ2Fj eS5ydGMgPSAxOwogfQogCit1aW50MzJfdCB4ZW5fcHZfY3B1aWRfYmFzZSh4ZW5ob3N0X3QgKnho KQoreworCXJldHVybiBoeXBlcnZpc29yX2NwdWlkX2Jhc2UoIlhlblZNTVhlblZNTSIsIDIpOwor fQorCit1aW50MzJfdCB4ZW5fcHZfbmVzdGVkX2NwdWlkX2Jhc2UoeGVuaG9zdF90ICp4aCkKK3sK KwlyZXR1cm4gaHlwZXJ2aXNvcl9jcHVpZF9iYXNlKCJYZW5WTU1YZW5WTU0iLAorCQkJCTIgLyog bmVzdGVkIHNwZWNpZmljIGxlYWY/ICovKTsKK30KKwogeGVuaG9zdF9vcHNfdCB4aF9wdl9vcHMg PSB7CisJLmNwdWlkX2Jhc2UgPSB4ZW5fcHZfY3B1aWRfYmFzZSwKIH07CiAKIHhlbmhvc3Rfb3Bz X3QgeGhfcHZfbmVzdGVkX29wcyA9IHsKKwkuY3B1aWRfYmFzZSA9IHhlbl9wdl9uZXN0ZWRfY3B1 aWRfYmFzZSwKIH07CiAKIC8qIEZpcnN0IEMgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIG9uIFhlbiBi b290ICovCkBAIC0xNDY5LDcgKzE0ODIsOCBAQCBzdGF0aWMgaW50IHhlbl9jcHVfZGVhZF9wdih1 bnNpZ25lZCBpbnQgY3B1KQogc3RhdGljIHVpbnQzMl90IF9faW5pdCB4ZW5fcGxhdGZvcm1fcHYo dm9pZCkKIHsKIAlpZiAoeGVuX3B2X2RvbWFpbigpKQotCQlyZXR1cm4geGVuX2NwdWlkX2Jhc2Uo KTsKKwkJLyogeGVuaG9zdCBpcyBzZXR1cCBpbiB4ZW5fc3RhcnRfa2VybmVsLiAqLworCQlyZXR1 cm4geGVuaG9zdF9jcHVpZF9iYXNlKHhoX2RlZmF1bHQpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYg LS1naXQgYS9hcmNoL3g4Ni94ZW4vZW5saWdodGVuX3B2aC5jIGIvYXJjaC94ODYveGVuL2VubGln aHRlbl9wdmguYwppbmRleCA4MjZjMjk2ZDI3YTMuLmMwN2ViYTE2OTU3MiAxMDA2NDQKLS0tIGEv YXJjaC94ODYveGVuL2VubGlnaHRlbl9wdmguYworKysgYi9hcmNoL3g4Ni94ZW4vZW5saWdodGVu X3B2aC5jCkBAIC0yOSw2ICsyOSwxMCBAQCB2b2lkIF9faW5pdCB4ZW5fcHZoX2luaXQodm9pZCkK IAl1MzIgbXNyOwogCXU2NCBwZm47CiAKKwkvKgorCSAqIE5vdGU6IHdlIGhhdmUgYWxyZWFkeSBj YWxsZWQgeGVuX2NwdWlkX2Jhc2UoKSBpbgorCSAqIGh5cGVydmlzb3Jfc3BlY2lmaWNfaW5pdCgp CisJICovCiAJeGVuaG9zdF9yZWdpc3Rlcih4ZW5ob3N0X3IxLCAmeGhfaHZtX29wcyk7CiAKIAkv KgpkaWZmIC0tZ2l0IGEvZHJpdmVycy90dHkvaHZjL2h2Y194ZW4uYyBiL2RyaXZlcnMvdHR5L2h2 Yy9odmNfeGVuLmMKaW5kZXggZGM0M2ZhOTZjM2RlLi41ZTVjYTM1ZDcxODcgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvdHR5L2h2Yy9odmNfeGVuLmMKKysrIGIvZHJpdmVycy90dHkvaHZjL2h2Y194ZW4u YwpAQCAtNTk1LDcgKzU5NSw3IEBAIGNvbnNvbGVfaW5pdGNhbGwoeGVuX2NvbnNfaW5pdCk7CiAj aWZkZWYgQ09ORklHX1g4Ngogc3RhdGljIHZvaWQgeGVuX2h2bV9lYXJseV93cml0ZSh1aW50MzJf dCB2dGVybW5vLCBjb25zdCBjaGFyICpzdHIsIGludCBsZW4pCiB7Ci0JaWYgKHhlbl9jcHVpZF9i YXNlKCkpCisJaWYgKHhlbl9jcHVpZF9iYXNlKHhoX2RlZmF1bHQpKQogCQlvdXRzYigweGU5LCBz dHIsIGxlbik7CiB9CiAjZWxzZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vZ3JhbnQtdGFibGUu YyBiL2RyaXZlcnMveGVuL2dyYW50LXRhYmxlLmMKaW5kZXggN2VhNmZiNmEyZTVkLi45OGFmMjU5 ZDBkNGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL2dyYW50LXRhYmxlLmMKKysrIGIvZHJpdmVy cy94ZW4vZ3JhbnQtdGFibGUuYwpAQCAtNTAsNiArNTAsNyBAQAogI2VuZGlmCiAKICNpbmNsdWRl IDx4ZW4veGVuLmg+CisjaW5jbHVkZSA8eGVuL3hlbmhvc3QuaD4KICNpbmNsdWRlIDx4ZW4vaW50 ZXJmYWNlL3hlbi5oPgogI2luY2x1ZGUgPHhlbi9wYWdlLmg+CiAjaW5jbHVkZSA8eGVuL2dyYW50 X3RhYmxlLmg+CkBAIC0xMzE4LDcgKzEzMTksNyBAQCBzdGF0aWMgYm9vbCBnbnR0YWJfbmVlZF92 Mih2b2lkKQogCXVpbnQzMl90IGJhc2UsIHdpZHRoOwogCiAJaWYgKHhlbl9wdl9kb21haW4oKSkg ewotCQliYXNlID0geGVuX2NwdWlkX2Jhc2UoKTsKKwkJYmFzZSA9IHhlbmhvc3RfY3B1aWRfYmFz ZSh4aF9kZWZhdWx0KTsKIAkJaWYgKGNwdWlkX2VheChiYXNlKSA8IDUpCiAJCQlyZXR1cm4gZmFs c2U7CS8qIEluZm9ybWF0aW9uIG5vdCBhdmFpbGFibGUsIHVzZSBWMS4gKi8KIAkJd2lkdGggPSBj cHVpZF9lYngoYmFzZSArIDUpICYKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5i dXNfeHMuYyBiL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfeHMuYwppbmRleCA0OWEzODc0YWU2 YmIuLjMyMzZkMWIxZmEwMSAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c194 cy5jCisrKyBiL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfeHMuYwpAQCAtNDksNiArNDksNyBA QAogI2luY2x1ZGUgPGFzbS94ZW4vaHlwZXJ2aXNvci5oPgogI2luY2x1ZGUgPHhlbi94ZW5idXMu aD4KICNpbmNsdWRlIDx4ZW4veGVuLmg+CisjaW5jbHVkZSA8eGVuL3hlbmhvc3QuaD4KICNpbmNs dWRlICJ4ZW5idXMuaCIKIAogLyoKQEAgLTcyMiw3ICs3MjMsNyBAQCBzdGF0aWMgYm9vbCB4ZW5f c3RyaWN0X3hlbmJ1c19xdWlyayh2b2lkKQogI2lmZGVmIENPTkZJR19YODYKIAl1aW50MzJfdCBl YXgsIGVieCwgZWN4LCBlZHgsIGJhc2U7CiAKLQliYXNlID0geGVuX2NwdWlkX2Jhc2UoKTsKKwli YXNlID0geGVuaG9zdF9jcHVpZF9iYXNlKHhoX2RlZmF1bHQpOwogCWNwdWlkKGJhc2UgKyAxLCAm ZWF4LCAmZWJ4LCAmZWN4LCAmZWR4KTsKIAogCWlmICgoZWF4ID4+IDE2KSA8IDQpCmRpZmYgLS1n aXQgYS9pbmNsdWRlL3hlbi94ZW5ob3N0LmggYi9pbmNsdWRlL3hlbi94ZW5ob3N0LmgKaW5kZXgg YTU4ZTg4M2YxNDRlLi4xM2E3MGJkYWRmZDIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuL3hlbmhv c3QuaAorKysgYi9pbmNsdWRlL3hlbi94ZW5ob3N0LmgKQEAgLTEsNiArMSw5IEBACiAjaWZuZGVm IF9fWEVOSE9TVF9ICiAjZGVmaW5lIF9fWEVOSE9TVF9ICiAKKyNpbmNsdWRlIDx4ZW4vaW50ZXJm YWNlL2ZlYXR1cmVzLmg+CisjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS94ZW4uaD4KKyNpbmNsdWRl IDxhc20veGVuL2h5cGVydmlzb3IuaD4KIC8qCiAgKiBYZW5ob3N0IGFic3RyYWN0cyBvdXQgdGhl IFhlbiBpbnRlcmZhY2UuIEl0IGNvLWV4aXN0cyB3aXRoIHRoZSBQVi9IVk0vUFZICiAgKiBhYnN0 cmFjdGlvbnMgKHg4Nl9pbml0LCBoeXBlcnZpc29yX3g4NiwgcHZfb3BzIGV0YykgYW5kIGlzIG1l YW50IHRvCkBAIC03MCw2ICs3MywxNiBAQCB0eXBlZGVmIHN0cnVjdCB7CiB9IHhlbmhvc3RfdDsK IAogdHlwZWRlZiBzdHJ1Y3QgeGVuaG9zdF9vcHMgeworCS8qCisJICogeGVuX2NwdWlkIGlzIHVz ZWQgdG8gcHJvYmUgZmVhdHVyZXMgZWFybHkuCisJICogeGVuaG9zdF9yMDoKKwkgKiAgIEltcGxl bWVudGF0aW9uIGNvdWxkIG5vdCB1c2UgY3B1aWQgYXQgYWxsOiBpdCdzIGRpZmZpY3VsdCB0bwor CSAqICAgaW50ZXJjZXB0IGNwdWlkIGluc3RydWN0aW9uIGxvY2FsbHkuCisJICogeGVuaG9zdF9y MToKKwkgKiB4ZW5ob3N0X3IyOgorCSAqICAgU2VwYXJhdGUgY3B1aWQtbGVhZnM/CisJICovCisJ dWludDMyX3QgKCpjcHVpZF9iYXNlKSh4ZW5ob3N0X3QgKnhlbmhvc3QpOwogfSB4ZW5ob3N0X29w c190OwogCiBleHRlcm4geGVuaG9zdF90ICp4aF9kZWZhdWx0LCAqeGhfcmVtb3RlOwpAQCAtOTIs NCArMTA1LDEyIEBAIHZvaWQgX194ZW5ob3N0X3VucmVnaXN0ZXIoZW51bSB4ZW5ob3N0X3R5cGUg dHlwZSk7CiAJZm9yICgoeGgpID0gKHhlbmhvc3RfdCAqKikgJnhlbmhvc3RzWzBdOwlcCiAJCSgo KHhoKSAtICh4ZW5ob3N0X3QgKiopJnhlbmhvc3RzKSA8IDIpICYmICgqeGgpLT50eXBlICE9IHhl bmhvc3RfaW52YWxpZDsgKHhoKSsrKQogCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IHhlbmhvc3Rf Y3B1aWRfYmFzZSh4ZW5ob3N0X3QgKnhoKQoreworCWlmICh4aCkKKwkJcmV0dXJuICh4aC0+b3Bz LT5jcHVpZF9iYXNlKSh4aCk7CisJZWxzZQorCQlyZXR1cm4geGVuX2NwdWlkX2Jhc2UoKTsKK30K KwogI2VuZGlmIC8qIF9fWEVOSE9TVF9IICovCi0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn L21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs