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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 80377C433F5 for ; Mon, 10 Jan 2022 02:00:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=63DcPiygxVOLa5glETPV+0O65cHrFb9kKtMp/DCWW7k=; b=JGP4UCyH2SIWEy l4lt3++bg5VGMD6lI3blIHi0vgih3hIu8MDE5hbnPc0jfOaEw3wfTgd7DQz6bwxZootoI4tPfnf28 cI+iDNo8DWrIVZZrAarfWO6+8UK5hj77a2b+7pt9bMiFp4xDAnD1vytmcl73faYgjEFuRkmceVH2B gzTyQ5cZAv0LzWqp5KHxxOBbgdbna5v6+TMJczHpzOOmuRDF91SKwId/Uwk70sK5K2o1pAO5Kd+Sa 8kdDwCxStrH/U8mEqUBFIrmRRbI7GjBAmUBtimNsP/7IsgLIdet+YtLhOV9cF+EiCqZOE4edvxV8Q U3+cUU5BG2iJSApjL+VQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1n6jxg-008qUx-W9; Mon, 10 Jan 2022 01:59:07 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1n6jpr-008lmN-Uz for linux-arm-kernel@lists.infradead.org; Mon, 10 Jan 2022 01:51:01 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 6E1EA60EC8; Mon, 10 Jan 2022 01:50:59 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2F254C36AF4; Mon, 10 Jan 2022 01:50:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1641779458; bh=dE37zSYYTtSHHbU6xtrTBq/WpoIvFy7wpM+oq4PNQNI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DI1b+QxE4fnyt8T81FkzruG9iAnVEikq9tEEK3Tza2BHeNFXyxm6UDvi6JMyjHoG7 SlQPDfPNcyQAc/+QEaDzT3IL9AJSJAvU62mrSgbWNI9B9KgEhGT9z72yldLXgETSEL PForSYbT3LQidbg/SlhDgeU/NOj2HZDSN0eTsJXo6VoMIBBVq0y57eMUTz/stxOQ2r RXRj0crDGCYfy+GDj3lj+1z4kYJQPmJyztVgvGAoousAfh65OafT5s+rvATkcddeE4 CWdn0hbI5NVK+5a3fZPU2lH5CTo0e3dSDwm6RR2QCs4DldR+rEOttqHiYxnNItYA3I OsJDr1o+FnBtw== From: =?UTF-8?q?Marek=20Beh=C3=BAn?= To: Marc Zyngier , Lorenzo Pieralisi , Bjorn Helgaas Cc: pali@kernel.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, =?UTF-8?q?Marek=20Beh=C3=BAn?= Subject: [PATCH v2 17/23] PCI: aardvark: Fix support for PME requester on emulated bridge Date: Mon, 10 Jan 2022 02:50:12 +0100 Message-Id: <20220110015018.26359-18-kabel@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220110015018.26359-1-kabel@kernel.org> References: <20220110015018.26359-1-kabel@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220109_175100_125253_BD151CFC X-CRM114-Status: GOOD ( 22.34 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org RnJvbTogUGFsaSBSb2jDoXIgPHBhbGlAa2VybmVsLm9yZz4KCkVuYWJsZSBhYXJkdmFyayBQTUUg aW50ZXJydXB0IHVuY29uZGl0aW9uYWxseSBieSB1bm1hc2tpbmcgaXQgYW5kIHJlYWQgUE1FCnJl cXVlc3RlciBJRCB0byBlbXVsYXRlZCBicmlkZ2UgY29uZmlnIHNwYWNlIGltbWVkaWF0ZWx5IGFm dGVyIHJlY2VpdmluZwppbnRlcnJ1cHQuCgpQTUUgcmVxdWVzdGVyIElEIGlzIHN0b3JlZCBpbiB0 aGUgUENJRV9NU0dfTE9HX1JFRyByZWdpc3Rlciwgd2hpY2ggY29udGFpbnMKdGhlIGxhc3QgaW5i b3VuZCBtZXNzYWdlLiBTbyB3aGVuIG5ldyBpbmJvdW5kIG1lc3NhZ2UgaXMgcmVjZWl2ZWQgYnkg SFcKKGluY2x1ZGluZyBub24tUE0pLCB0aGUgY29udGVudCBpbiBQQ0lFX01TR19MT0dfUkVHIHJl Z2lzdGVyIGlzIHJlcGxhY2VkIGJ5CmEgbmV3IHZhbHVlLgoKUENJZSBzcGVjaWZpY2F0aW9uIG1h bmRhdGVzIHRoYXQgc3Vic2VxdWVudCBQTUVzIGFyZSBrZXB0IHBlbmRpbmcgdW50aWwgdGhlClBN RSBTdGF0dXMgUmVnaXN0ZXIgYml0IGlzIGNsZWFyZWQgYnkgc29mdHdhcmUgYnkgd3JpdGluZyBh IDFiLgoKU3VwcG9ydCBmb3IgbWFza2luZy91bm1hc2tpbmcgUE1FIGludGVycnVwdCBvbiBlbXVs YXRlZCBicmlkZ2UgdmlhClBDSV9FWFBfUlRDVExfUE1FSUUgYml0IGlzIG5vdyBpbXBsZW1lbnRl ZCBvbmx5IGluIGVtdWxhdGVkIGJyaWRnZSBjb25maWcKc3BhY2UsIHRvIGVuc3VyZSB0aGF0IHdl IGRvIG5vdCBtaXNzIGFueSBhYXJkdmFyayBQTUUgaW50ZXJydXB0LgoKUmVhZGluZyBvZiBQQ0lf RVhQX1JUQ0FQIGFuZCBQQ0lfRVhQX1JUU1RBIHJlZ2lzdGVycyBpcyBzaW1wbGlmaWVkIGFzIGZp bmFsCnZhbHVlIGlzIG5vdyBhbHdheXMgc3RvcmVkIGludG8gZW11bGF0ZWQgYnJpZGdlIGNvbmZp ZyBzcGFjZSBieSB0aGUKaW50ZXJydXB0IGhhbmRsZXIsIHNvIHRoZXJlIGlzIG5vIG5lZWQgdG8g aW1wbGVtZW50IHN1cHBvcnQgZm9yIHRoZXNlCnJlZ2lzdGVycyBpbiByZWFkX3BjaWUgY2FsbGJh Y2suCgpDbGVhcmluZyBvZiBXMUMgYml0IFBDSV9FWFBfUlRTVEFfUE1FIGlzIG5vdyBhbHNvIHNp bXBsaWZpZWQgYXMgaXQgaXMgZG9uZQpieSBwY2ktYnJpZGdlLWVtdWwuYyBjb2RlIGZvciBlbXVs YXRlZCBicmlkZ2UgY29uZmlnIHNwYWNlLiBTbyB0aGVyZSBpcyBubwpuZWVkIHRvIGltcGxlbWVu dCBzdXBwb3J0IGZvciBjbGVhcmluZyB0aGlzIGJpdCBpbiB3cml0ZV9wY2llIGNhbGxiYWNrLgoK U2lnbmVkLW9mZi1ieTogUGFsaSBSb2jDoXIgPHBhbGlAa2VybmVsLm9yZz4KU2lnbmVkLW9mZi1i eTogTWFyZWsgQmVow7puIDxrYWJlbEBrZXJuZWwub3JnPgotLS0KIGRyaXZlcnMvcGNpL2NvbnRy b2xsZXIvcGNpLWFhcmR2YXJrLmMgfCA5MSArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaS1hYXJkdmFyay5jIGIvZHJpdmVycy9wY2kv Y29udHJvbGxlci9wY2ktYWFyZHZhcmsuYwppbmRleCAzZjJkNTcwYmZiYjUuLjczMGZmMWZmYzk1 MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2ktYWFyZHZhcmsuYworKysg Yi9kcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaS1hYXJkdmFyay5jCkBAIC01OTEsNiArNTkxLDEx IEBAIHN0YXRpYyB2b2lkIGFkdmtfcGNpZV9zZXR1cF9odyhzdHJ1Y3QgYWR2a19wY2llICpwY2ll KQogCXJlZyAmPSB+UENJRV9JU1IwX01TSV9JTlRfUEVORElORzsKIAlhZHZrX3dyaXRlbChwY2ll LCByZWcsIFBDSUVfSVNSMF9NQVNLX1JFRyk7CiAKKwkvKiBVbm1hc2sgUE1FIGludGVycnVwdCBm b3IgcHJvY2Vzc2luZyBvZiBQTUUgcmVxdWVzdGVyICovCisJcmVnID0gYWR2a19yZWFkbChwY2ll LCBQQ0lFX0lTUjBfTUFTS19SRUcpOworCXJlZyAmPSB+UENJRV9NU0dfUE1fUE1FX01BU0s7CisJ YWR2a193cml0ZWwocGNpZSwgcmVnLCBQQ0lFX0lTUjBfTUFTS19SRUcpOworCiAJLyogRW5hYmxl IHN1bW1hcnkgaW50ZXJydXB0IGZvciBHSUMgU1BJIHNvdXJjZSAqLwogCXJlZyA9IFBDSUVfSVJR X0FMTF9NQVNLICYgKH5QQ0lFX0lSUV9FTkFCTEVfSU5UU19NQVNLKTsKIAlhZHZrX3dyaXRlbChw Y2llLCByZWcsIEhPU1RfQ1RSTF9JTlRfTUFTS19SRUcpOwpAQCAtODY1LDIyICs4NzAsMTEgQEAg YWR2a19wY2lfYnJpZGdlX2VtdWxfcGNpZV9jb25mX3JlYWQoc3RydWN0IHBjaV9icmlkZ2VfZW11 bCAqYnJpZGdlLAogCQkqdmFsdWUgPSBQQ0lfRVhQX1NMVFNUQV9QRFMgPDwgMTY7CiAJCXJldHVy biBQQ0lfQlJJREdFX0VNVUxfSEFORExFRDsKIAotCWNhc2UgUENJX0VYUF9SVENUTDogewotCQl1 MzIgdmFsID0gYWR2a19yZWFkbChwY2llLCBQQ0lFX0lTUjBfTUFTS19SRUcpOwotCQkqdmFsdWUg PSAodmFsICYgUENJRV9NU0dfUE1fUE1FX01BU0spID8gMCA6IFBDSV9FWFBfUlRDVExfUE1FSUU7 Ci0JCSp2YWx1ZSB8PSBsZTE2X3RvX2NwdShicmlkZ2UtPnBjaWVfY29uZi5yb290Y3RsKSAmIFBD SV9FWFBfUlRDVExfQ1JTU1ZFOwotCQkqdmFsdWUgfD0gUENJX0VYUF9SVENBUF9DUlNWSVMgPDwg MTY7Ci0JCXJldHVybiBQQ0lfQlJJREdFX0VNVUxfSEFORExFRDsKLQl9Ci0KLQljYXNlIFBDSV9F WFBfUlRTVEE6IHsKLQkJdTMyIGlzcjAgPSBhZHZrX3JlYWRsKHBjaWUsIFBDSUVfSVNSMF9SRUcp OwotCQl1MzIgbXNnbG9nID0gYWR2a19yZWFkbChwY2llLCBQQ0lFX01TR19MT0dfUkVHKTsKLQkJ KnZhbHVlID0gbXNnbG9nID4+IDE2OwotCQlpZiAoaXNyMCAmIFBDSUVfTVNHX1BNX1BNRV9NQVNL KQotCQkJKnZhbHVlIHw9IFBDSV9FWFBfUlRTVEFfUE1FOwotCQlyZXR1cm4gUENJX0JSSURHRV9F TVVMX0hBTkRMRUQ7Ci0JfQorCS8qCisJICogUENJX0VYUF9SVENUTCBhbmQgUENJX0VYUF9SVFNU QSBhcmUgYWxzbyBzdXBwb3J0ZWQsIGJ1dCBkbyBub3QgbmVlZAorCSAqIHRvIGJlIGhhbmRsZWQg aGVyZSwgYmVjYXVzZSB0aGVpciB2YWx1ZXMgYXJlIHN0b3JlZCBpbiBlbXVsYXRlZAorCSAqIGNv bmZpZyBzcGFjZSBidWZmZXIsIGFuZCB3ZSByZWFkIHRoZW0gZnJvbSB0aGVyZSB3aGVuIG5lZWRl ZC4KKwkgKi8KIAogCWNhc2UgUENJX0VYUF9MTktDQVA6IHsKIAkJdTMyIHZhbCA9IGFkdmtfcmVh ZGwocGNpZSwgUENJRV9DT1JFX1BDSUVYUF9DQVAgKyByZWcpOwpAQCAtOTM0LDIyICs5MjgsMTkg QEAgYWR2a19wY2lfYnJpZGdlX2VtdWxfcGNpZV9jb25mX3dyaXRlKHN0cnVjdCBwY2lfYnJpZGdl X2VtdWwgKmJyaWRnZSwKIAkJCWFkdmtfcGNpZV93YWl0X2Zvcl9yZXRyYWluKHBjaWUpOwogCQli cmVhazsKIAotCWNhc2UgUENJX0VYUF9SVENUTDoKLQkJLyogT25seSBtYXNrL3VubWFzayBQTUUg aW50ZXJydXB0ICovCi0JCWlmIChtYXNrICYgUENJX0VYUF9SVENUTF9QTUVJRSkgewotCQkJdTMy IHZhbCA9IGFkdmtfcmVhZGwocGNpZSwgUENJRV9JU1IwX01BU0tfUkVHKTsKLQkJCWlmIChuZXcg JiBQQ0lfRVhQX1JUQ1RMX1BNRUlFKQotCQkJCXZhbCAmPSB+UENJRV9NU0dfUE1fUE1FX01BU0s7 Ci0JCQllbHNlCi0JCQkJdmFsIHw9IFBDSUVfTVNHX1BNX1BNRV9NQVNLOwotCQkJYWR2a193cml0 ZWwocGNpZSwgdmFsLCBQQ0lFX0lTUjBfTUFTS19SRUcpOwotCQl9CisJY2FzZSBQQ0lfRVhQX1JU Q1RMOiB7CisJCXUxNiByb290Y3RsID0gbGUxNl90b19jcHUoYnJpZGdlLT5wY2llX2NvbmYucm9v dGN0bCk7CisJCS8qIE9ubHkgZW11bGF0aW9uIG9mIFBNRUlFIGFuZCBDUlNTVkUgYml0cyBpcyBw cm92aWRlZCAqLworCQlyb290Y3RsICY9IFBDSV9FWFBfUlRDVExfUE1FSUUgfCBQQ0lfRVhQX1JU Q1RMX0NSU1NWRTsKKwkJYnJpZGdlLT5wY2llX2NvbmYucm9vdGN0bCA9IGNwdV90b19sZTE2KHJv b3RjdGwpOwogCQlicmVhazsKKwl9CiAKLQljYXNlIFBDSV9FWFBfUlRTVEE6Ci0JCWlmIChuZXcg JiBQQ0lfRVhQX1JUU1RBX1BNRSkKLQkJCWFkdmtfd3JpdGVsKHBjaWUsIFBDSUVfTVNHX1BNX1BN RV9NQVNLLCBQQ0lFX0lTUjBfUkVHKTsKLQkJYnJlYWs7CisJLyoKKwkgKiBQQ0lfRVhQX1JUU1RB IGlzIGFsc28gc3VwcG9ydGVkLCBidXQgZG9lcyBub3QgbmVlZCB0byBiZSBoYW5kbGVkCisJICog aGVyZSwgYmVjYXVzZSBpdHMgdmFsdWUgaXMgc3RvcmVkIGluIGVtdWxhdGVkIGNvbmZpZyBzcGFj ZSBidWZmZXIsCisJICogYW5kIHdlIHdyaXRlIGl0IHRoZXJlIHdoZW4gbmVlZGVkLgorCSAqLwog CiAJY2FzZSBQQ0lfRVhQX0RFVkNUTDoKIAljYXNlIFBDSV9FWFBfREVWQ1RMMjoKQEAgLTE0NTIs NiArMTQ0MywzMiBAQCBzdGF0aWMgdm9pZCBhZHZrX3BjaWVfcmVtb3ZlX2lycV9kb21haW4oc3Ry dWN0IGFkdmtfcGNpZSAqcGNpZSkKIAlpcnFfZG9tYWluX3JlbW92ZShwY2llLT5pcnFfZG9tYWlu KTsKIH0KIAorc3RhdGljIHZvaWQgYWR2a19wY2llX2hhbmRsZV9wbWUoc3RydWN0IGFkdmtfcGNp ZSAqcGNpZSkKK3sKKwl1MzIgcmVxdWVzdGVyID0gYWR2a19yZWFkbChwY2llLCBQQ0lFX01TR19M T0dfUkVHKSA+PiAxNjsKKworCWFkdmtfd3JpdGVsKHBjaWUsIFBDSUVfTVNHX1BNX1BNRV9NQVNL LCBQQ0lFX0lTUjBfUkVHKTsKKworCS8qCisJICogUENJRV9NU0dfTE9HX1JFRyBjb250YWlucyB0 aGUgbGFzdCBpbmJvdW5kIG1lc3NhZ2UsIHNvIHN0b3JlCisJICogdGhlIHJlcXVlc3RlciBJRCBv bmx5IHdoZW4gUE1FIHdhcyBub3QgYXNzZXJ0ZWQgeWV0LgorCSAqIEFsc28gZG8gbm90IHRyaWdn ZXIgUE1FIGludGVycnVwdCB3aGVuIFBNRSBpcyBzdGlsbCBhc3NlcnRlZC4KKwkgKi8KKwlpZiAo IShsZTMyX3RvX2NwdShwY2llLT5icmlkZ2UucGNpZV9jb25mLnJvb3RzdGEpICYgUENJX0VYUF9S VFNUQV9QTUUpKSB7CisJCXBjaWUtPmJyaWRnZS5wY2llX2NvbmYucm9vdHN0YSA9IGNwdV90b19s ZTMyKHJlcXVlc3RlciB8IFBDSV9FWFBfUlRTVEFfUE1FKTsKKworCQkvKgorCQkgKiBUcmlnZ2Vy IFBNRSBpbnRlcnJ1cHQgb25seSBpZiBQTUVJRSBiaXQgaW4gUm9vdCBDb250cm9sIGlzIHNldC4K KwkJICogQWFyZHZhcmsgSFcgcmV0dXJucyB6ZXJvIGZvciBQQ0lfRVhQX0ZMQUdTX0lSUSwgc28g dXNlIFBDSWUgaW50ZXJydXB0IDAuCisJCSAqLworCQlpZiAoIShsZTE2X3RvX2NwdShwY2llLT5i cmlkZ2UucGNpZV9jb25mLnJvb3RjdGwpICYgUENJX0VYUF9SVENUTF9QTUVJRSkpCisJCQlyZXR1 cm47CisKKwkJaWYgKGdlbmVyaWNfaGFuZGxlX2RvbWFpbl9pcnEocGNpZS0+aXJxX2RvbWFpbiwg MCkgPT0gLUVJTlZBTCkKKwkJCWRldl9lcnJfcmF0ZWxpbWl0ZWQoJnBjaWUtPnBkZXYtPmRldiwg InVuaGFuZGxlZCBQTUUgSVJRXG4iKTsKKwl9Cit9CisKIHN0YXRpYyB2b2lkIGFkdmtfcGNpZV9o YW5kbGVfbXNpKHN0cnVjdCBhZHZrX3BjaWUgKnBjaWUpCiB7CiAJdTMyIG1zaV92YWwsIG1zaV9t YXNrLCBtc2lfc3RhdHVzLCBtc2lfaWR4OwpAQCAtMTQ4NywxNyArMTUwNCw5IEBAIHN0YXRpYyB2 b2lkIGFkdmtfcGNpZV9oYW5kbGVfaW50KHN0cnVjdCBhZHZrX3BjaWUgKnBjaWUpCiAJaXNyMV9t YXNrID0gYWR2a19yZWFkbChwY2llLCBQQ0lFX0lTUjFfTUFTS19SRUcpOwogCWlzcjFfc3RhdHVz ID0gaXNyMV92YWwgJiAoKH5pc3IxX21hc2spICYgUENJRV9JU1IxX0FMTF9NQVNLKTsKIAotCS8q IFByb2Nlc3MgUE1FIGludGVycnVwdCAqLwotCWlmIChpc3IwX3N0YXR1cyAmIFBDSUVfTVNHX1BN X1BNRV9NQVNLKSB7Ci0JCS8qCi0JCSAqIERvIG5vdCBjbGVhciBQTUUgaW50ZXJydXB0IGJpdCBp biBJU1IwLCBpdCBpcyBjbGVhcmVkIGJ5IElSUQotCQkgKiByZWNlaXZlciBieSB3cml0aW5nIHRv IHRoZSBQQ0lfRVhQX1JUU1RBIHJlZ2lzdGVyIG9mIGVtdWxhdGVkCi0JCSAqIHJvb3QgYnJpZGdl LiBBYXJkdmFyayBIVyByZXR1cm5zIHplcm8gZm9yIFBDSV9FWFBfRkxBR1NfSVJRLAotCQkgKiBz byB1c2UgUENJZSBpbnRlcnJ1cHQgMC4KLQkJICovCi0JCWlmIChnZW5lcmljX2hhbmRsZV9kb21h aW5faXJxKHBjaWUtPmlycV9kb21haW4sIDApID09IC1FSU5WQUwpCi0JCQlkZXZfZXJyX3JhdGVs aW1pdGVkKCZwY2llLT5wZGV2LT5kZXYsICJ1bmhhbmRsZWQgUE1FIElSUVxuIik7Ci0JfQorCS8q IFByb2Nlc3MgUE1FIGludGVycnVwdCBhcyB0aGUgZmlyc3Qgb25lIHRvIGRvIG5vdCBtaXNzIFBN RSByZXF1ZXN0ZXIgaWQgKi8KKwlpZiAoaXNyMF9zdGF0dXMgJiBQQ0lFX01TR19QTV9QTUVfTUFT SykKKwkJYWR2a19wY2llX2hhbmRsZV9wbWUocGNpZSk7CiAKIAkvKiBQcm9jZXNzIEVSUiBpbnRl cnJ1cHQgKi8KIAlpZiAoaXNyMF9zdGF0dXMgJiBQQ0lFX0lTUjBfRVJSX01BU0spIHsKLS0gCjIu MzQuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxp bnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFk ZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4 LWFybS1rZXJuZWwK