Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp7156212imu; Tue, 22 Jan 2019 01:07:23 -0800 (PST) X-Google-Smtp-Source: ALg8bN6dqksjodCxDCuCbN6X4fZp6+rQVqVLskAnX85TXuoswAfbTKYrGD3eFFrgbi0KyWTfKv2J X-Received: by 2002:a62:29c3:: with SMTP id p186mr33224219pfp.117.1548148043749; Tue, 22 Jan 2019 01:07:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548148043; cv=none; d=google.com; s=arc-20160816; b=yqJ4vrQ7sfqUZ6BnfD6/hvxGf/K1xt8mpxzdrzr3j9cKWTQqCpr4SFFm74RotK9DjS rRBpJFP2uGlirCL/Wn8jxmMFI87ztXt/LfpADGcjhNmpzkE+VaIpPKrk2NyZPYJJOScL qZpv3V2w+2uA0ttNR1k2qR0Ch+lBlw7YAIIpmU9H5SXcaMOtPwPj4yDuatVm4ppVsV4g ZueRxcbJ0onGis5m7VNdPsym5xS6AGdQHru83SACZf6QZt4RWk2AEgXuKD6zlekizFoC jM1SQdVJu8Cisu5ficmFc9BSKoqFWbMZ9eDihTbY+Va2HmRAyvZqfWBfsI9pP9nt3OSI h49w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:message-id:date:thread-index :thread-topic:subject:cc:to:from; bh=pT7t/05oXqdHXUOv2mPZ4ZRZbTRa+SspoR5/u7NqsTQ=; b=lbSu87IQsX/h4yEQbCSUdw6bAYiIA0D60AJSFqmNqo6kKcT4tzh8dmZ8lAvZj0CwHR XypDfIO7VtCWlG08eELXrQZe496P83yxlz4GW4Bu895htJYoD4Ll9I3lTBOV2kAC8NYb hVrI2XV+/pX2/DCcdVL5jrX7e3d3xKn0TgSzKnYl1IoAvsz8N9vtGL0aanxatQvZCV6f f2GX5JZZNuUJVQROjLb7ogZ8vXEjH01zs9PouGVezw/p1WQhUr6lmCiJkhpVUyifo/JK byr1/AjLG71aRvpQeZiTDwQADIPw7BAntglXsd/ijryhMFSVRagAwXevueiDT//cnmKH mU+w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k11si15437089pgh.132.2019.01.22.01.07.08; Tue, 22 Jan 2019 01:07:23 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727643AbfAVJFx (ORCPT + 99 others); Tue, 22 Jan 2019 04:05:53 -0500 Received: from mgwym03.jp.fujitsu.com ([211.128.242.42]:24620 "EHLO mgwym03.jp.fujitsu.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727487AbfAVJFw (ORCPT ); Tue, 22 Jan 2019 04:05:52 -0500 Received: from yt-mxoi2.gw.nic.fujitsu.com (unknown [192.168.229.69]) by mgwym03.jp.fujitsu.com with smtp id 23b2_2507_e32c7881_87c8_48e3_a9f1_aad11f0fd010; Tue, 22 Jan 2019 17:54:35 +0900 Received: from g01jpfmpwkw03.exch.g01.fujitsu.local (g01jpfmpwkw03.exch.g01.fujitsu.local [10.0.193.57]) by yt-mxoi2.gw.nic.fujitsu.com (Postfix) with ESMTP id C78C1AC0104 for ; Tue, 22 Jan 2019 17:54:34 +0900 (JST) Received: from G01JPEXCHKW18.g01.fujitsu.local (G01JPEXCHKW18.g01.fujitsu.local [10.0.194.57]) by g01jpfmpwkw03.exch.g01.fujitsu.local (Postfix) with ESMTP id 062EDBD66B0; Tue, 22 Jan 2019 17:54:34 +0900 (JST) Received: from G01JPEXMBKW03.g01.fujitsu.local ([10.0.194.67]) by g01jpexchkw18 ([10.0.194.57]) with mapi id 14.03.0415.000; Tue, 22 Jan 2019 17:54:33 +0900 From: "Zhang, Lei" To: 'Mark Rutland' , "'catalin.marinas@arm.com'" , "'linux-arm-kernel@lists.infradead.org'" , "'will.deacon@arm.com'" , "'linux-kernel@vger.kernel.org'" CC: "Zhang, Lei" Subject: [PATCH v2 1/1] arm64: Add workaround for Fujitsu A64FX erratum 010001 Thread-Topic: [PATCH v2 1/1] arm64: Add workaround for Fujitsu A64FX erratum 010001 Thread-Index: AdSyLRrS1IDcSdJoRF6WCq7/B3VdwA== Date: Tue, 22 Jan 2019 08:54:33 +0000 Message-ID: <8898674D84E3B24BA3A2D289B872026A6A2A32EB@G01JPEXMBKW03> Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: x-securitypolicycheck: OK by SHieldMailChecker v2.2.3 x-shieldmailcheckerpolicyversion: FJ-ISEC-20140219 x-originating-ip: [10.18.70.198] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-SecurityPolicyCheck-GC: OK by FENCE-Mail X-TM-AS-MML: disable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gc29tZSB2YXJpYW50cyBvZiB0aGUgRnVqaXRzdS1BNjRGWCBjb3JlcyB2 ZXIoMS4wLCAxLjEpLA0KbWVtb3J5IGFjY2Vzc2VzIG1heSBjYXVzZSB1bmRl ZmluZWQgZmF1bHQgKERhdGEgYWJvcnQsDQpERlNDPTBiMTExMTExKSBkdWUg dG8gdGhlIENQVSBFcnJhdGEgKEZ1aml0c3UgIzAxMDAwMSkuDQoNClRoaXMg cGF0Y2ggaW50cm9kdWNlcyB0aGUgd29ya2Fyb3VuZCB0byB0aGUgcHJvYmxl bS4NClRoZSB3b3JrYXJvdW5kIGlzIHRvIGNoYW5nZSB0aGUgZmF1bHQgaGFu ZGxlciBmb3IgRGF0YSBhYm9ydA0KREZTQz0wYjExMTExMSB0byBpZ25vcmUg dGhpcyB1bmRlZmluZWQgZmF1bHQsIHdoaWNoIHdpbGwgb25seQ0KYWZmZWN0 IHRoZSBGdWppdHN1LUE2NEZYLg0KDQpTaWduZWQtb2ZmLWJ5OiBMZWkgWmhh bmcgPHpoYW5nLmxlaUBqcC5mdWppdHN1LmNvbT4NClRlc3RlZC1ieTogTGVp IFpoYW5nIDx6aGFuZy5sZWlAanAuZnVqaXRzdS5jb20+DQotLS0NCiBEb2N1 bWVudGF0aW9uL2FybTY0L3NpbGljb24tZXJyYXRhLnR4dCB8ICAxICsNCiBh cmNoL2FybTY0L0tjb25maWcgICAgICAgICAgICAgICAgICAgICB8IDEzICsr KysrKysrKysrKysNCiBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL2NwdWNhcHMu aCAgICAgICB8ICAzICsrLQ0KIGFyY2gvYXJtNjQvaW5jbHVkZS9hc20vY3B1 dHlwZS5oICAgICAgIHwgIDQgKysrKw0KIGFyY2gvYXJtNjQva2VybmVsL2Nw dV9lcnJhdGEuYyAgICAgICAgIHwgIDggKysrKysrKysNCiBhcmNoL2FybTY0 L21tL2ZhdWx0LmMgICAgICAgICAgICAgICAgICB8IDI0ICsrKysrKysrKysr KysrKysrKysrKysrLQ0KIDYgZmlsZXMgY2hhbmdlZCwgNTEgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL0RvY3VtZW50 YXRpb24vYXJtNjQvc2lsaWNvbi1lcnJhdGEudHh0IGIvRG9jdW1lbnRhdGlv bi9hcm02NC9zaWxpY29uLWVycmF0YS50eHQNCmluZGV4IDFmMDlkMDQuLjI2 ZDY0ZTkgMTAwNjQ0DQotLS0gYS9Eb2N1bWVudGF0aW9uL2FybTY0L3NpbGlj b24tZXJyYXRhLnR4dA0KKysrIGIvRG9jdW1lbnRhdGlvbi9hcm02NC9zaWxp Y29uLWVycmF0YS50eHQNCkBAIC04MCwzICs4MCw0IEBAIHN0YWJsZSBrZXJu ZWxzLg0KIHwgUXVhbGNvbW0gVGVjaC4gfCBGYWxrb3IgdjEgICAgICAgfCBF MTAwOSAgICAgICAgICAgfCBRQ09NX0ZBTEtPUl9FUlJBVFVNXzEwMDkgICAg fA0KIHwgUXVhbGNvbW0gVGVjaC4gfCBRREYyNDAwIElUUyAgICAgfCBFMDA2 NSAgICAgICAgICAgfCBRQ09NX1FERjI0MDBfRVJSQVRVTV8wMDY1ICAgfA0K IHwgUXVhbGNvbW0gVGVjaC4gfCBGYWxrb3IgdnsxLDJ9ICAgfCBFMTA0MSAg ICAgICAgICAgfCBRQ09NX0ZBTEtPUl9FUlJBVFVNXzEwNDEgICAgfA0KK3wg RnVqaXRzdSAgICAgICAgfCBBNjRGWCAgICAgICAgICAgfCBFIzAxMDAwMSAg ICAgICAgfCBGVUpJVFNVX0VSUkFUVU1fMDEwMDAxICAgICAgfA0KZGlmZiAt LWdpdCBhL2FyY2gvYXJtNjQvS2NvbmZpZyBiL2FyY2gvYXJtNjQvS2NvbmZp Zw0KaW5kZXggYTQxNjhkMy4uOWMwOWIyYiAxMDA2NDQNCi0tLSBhL2FyY2gv YXJtNjQvS2NvbmZpZw0KKysrIGIvYXJjaC9hcm02NC9LY29uZmlnDQpAQCAt NjQzLDYgKzY0MywxOSBAQCBjb25maWcgUUNPTV9GQUxLT1JfRVJSQVRVTV9F MTA0MQ0KIA0KIAkgIElmIHVuc3VyZSwgc2F5IFkuDQogDQorY29uZmlnIEZV SklUU1VfRVJSQVRVTV8wMTAwMDENCisJYm9vbCAiRnVqaXRzdS1BNjRGWCBl cnJhdHVtIEUjMDEwMDAxOiBVbmRlZmluZWQgZmF1bHQgbWF5IG9jY3VyIHdy b25nbHkiDQorCWRlZmF1bHQgeQ0KKwloZWxwDQorCSAgVGhpcyBvcHRpb24g YWRkcyB3b3JrYXJvdW5kIGZvciBGdWppdHN1LUE2NEZYIGVycmF0dW0gRSMw MTAwMDEuDQorCSAgT24gc29tZSB2YXJpYW50cyBvZiB0aGUgRnVqaXRzdS1B NjRGWCBjb3JlcyB2ZXIoMS4wLCAxLjEpLCBtZW1vcnkgYWNjZXNzZXMNCisJ ICBtYXkgY2F1c2UgdW5kZWZpbmVkIGZhdWx0IChEYXRhIGFib3J0LCBERlND PTBiMTExMTExKS4NCisJICBUaGUgd29ya2Fyb3VuZCBpcyB0byByZXBsYWNl IHRoZSBmYXVsdCBoYW5kbGVyIGZvciBEYXRhIGFib3J0IERGU0M9MGIxMTEx MTENCisJICB3aXRoIGEgbmV3IG9uZSB0byBpZ25vcmUgdGhpcyB1bmRlZmlu ZWQgZmF1bHQsIHdoaWNoIHdpbGwgb25seSBhZmZlY3QNCisJICB0aGUgRnVq aXRzdS1BNjRGWC4NCisNCisJICBJZiB1bnN1cmUsIHNheSBZLg0KKw0KIGVu ZG1lbnUNCiANCiANCmRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2luY2x1ZGUv YXNtL2NwdWNhcHMuaCBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vY3B1Y2Fw cy5oDQppbmRleCA4MmU5MDk5Li4zYTBiMzc1IDEwMDY0NA0KLS0tIGEvYXJj aC9hcm02NC9pbmNsdWRlL2FzbS9jcHVjYXBzLmgNCisrKyBiL2FyY2gvYXJt NjQvaW5jbHVkZS9hc20vY3B1Y2Fwcy5oDQpAQCAtNjAsNyArNjAsOCBAQA0K ICNkZWZpbmUgQVJNNjRfSEFTX0FERFJFU1NfQVVUSF9JTVBfREVGCQkzOQ0K ICNkZWZpbmUgQVJNNjRfSEFTX0dFTkVSSUNfQVVUSF9BUkNICQk0MA0KICNk ZWZpbmUgQVJNNjRfSEFTX0dFTkVSSUNfQVVUSF9JTVBfREVGCQk0MQ0KKyNk ZWZpbmUgQVJNNjRfV09SS0FST1VORF9GVUpJVFNVX0E2NEZYXzAxMDAwMDEg NDINCiANCi0jZGVmaW5lIEFSTTY0X05DQVBTCQkJCTQyDQorI2RlZmluZSBB Uk02NF9OQ0FQUwkJCQk0Mw0KIA0KICNlbmRpZiAvKiBfX0FTTV9DUFVDQVBT X0ggKi8NCmRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2Nw dXR5cGUuaCBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vY3B1dHlwZS5oDQpp bmRleCA5NTFlZDFhLi43MDIwM2Y5IDEwMDY0NA0KLS0tIGEvYXJjaC9hcm02 NC9pbmNsdWRlL2FzbS9jcHV0eXBlLmgNCisrKyBiL2FyY2gvYXJtNjQvaW5j bHVkZS9hc20vY3B1dHlwZS5oDQpAQCAtNzYsNiArNzYsNyBAQA0KICNkZWZp bmUgQVJNX0NQVV9JTVBfQlJDTQkJMHg0Mg0KICNkZWZpbmUgQVJNX0NQVV9J TVBfUUNPTQkJMHg1MQ0KICNkZWZpbmUgQVJNX0NQVV9JTVBfTlZJRElBCQkw eDRFDQorI2RlZmluZSBBUk1fQ1BVX0lNUF9GVUpJVFNVCQkweDQ2DQogDQog I2RlZmluZSBBUk1fQ1BVX1BBUlRfQUVNX1Y4CQkweEQwRg0KICNkZWZpbmUg QVJNX0NQVV9QQVJUX0ZPVU5EQVRJT04JCTB4RDAwDQpAQCAtMTA0LDYgKzEw NSw4IEBADQogI2RlZmluZSBOVklESUFfQ1BVX1BBUlRfREVOVkVSCQkweDAw Mw0KICNkZWZpbmUgTlZJRElBX0NQVV9QQVJUX0NBUk1FTAkJMHgwMDQNCiAN CisjZGVmaW5lIEZVSklUU1VfQ1BVX1BBUlRfQTY0RlgJCTB4MDAxDQorDQog I2RlZmluZSBNSURSX0NPUlRFWF9BNTMgTUlEUl9DUFVfTU9ERUwoQVJNX0NQ VV9JTVBfQVJNLCBBUk1fQ1BVX1BBUlRfQ09SVEVYX0E1MykNCiAjZGVmaW5l IE1JRFJfQ09SVEVYX0E1NyBNSURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9B Uk0sIEFSTV9DUFVfUEFSVF9DT1JURVhfQTU3KQ0KICNkZWZpbmUgTUlEUl9D T1JURVhfQTcyIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX0FSTSwgQVJN X0NQVV9QQVJUX0NPUlRFWF9BNzIpDQpAQCAtMTIyLDYgKzEyNSw3IEBADQog I2RlZmluZSBNSURSX1FDT01fS1JZTyBNSURSX0NQVV9NT0RFTChBUk1fQ1BV X0lNUF9RQ09NLCBRQ09NX0NQVV9QQVJUX0tSWU8pDQogI2RlZmluZSBNSURS X05WSURJQV9ERU5WRVIgTUlEUl9DUFVfTU9ERUwoQVJNX0NQVV9JTVBfTlZJ RElBLCBOVklESUFfQ1BVX1BBUlRfREVOVkVSKQ0KICNkZWZpbmUgTUlEUl9O VklESUFfQ0FSTUVMIE1JRFJfQ1BVX01PREVMKEFSTV9DUFVfSU1QX05WSURJ QSwgTlZJRElBX0NQVV9QQVJUX0NBUk1FTCkNCisjZGVmaW5lIE1JRFJfRlVK SVRTVV9BNjRGWCBNSURSX0NQVV9NT0RFTChBUk1fQ1BVX0lNUF9GVUpJVFNV LCBGVUpJVFNVX0NQVV9QQVJUX0E2NEZYKQ0KIA0KICNpZm5kZWYgX19BU1NF TUJMWV9fDQogDQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9rZXJuZWwvY3B1 X2VycmF0YS5jIGIvYXJjaC9hcm02NC9rZXJuZWwvY3B1X2VycmF0YS5jDQpp bmRleCA5OTUwYmIwLi5mYzA3MzdmIDEwMDY0NA0KLS0tIGEvYXJjaC9hcm02 NC9rZXJuZWwvY3B1X2VycmF0YS5jDQorKysgYi9hcmNoL2FybTY0L2tlcm5l bC9jcHVfZXJyYXRhLmMNCkBAIC03MzksNiArNzM5LDE0IEBAIHN0YXRpYyBi b29sIGhhc19zc2JkX21pdGlnYXRpb24oY29uc3Qgc3RydWN0IGFybTY0X2Nw dV9jYXBhYmlsaXRpZXMgKmVudHJ5LA0KIAkJRVJSQVRBX01JRFJfUkFOR0Uo TUlEUl9DT1JURVhfQTc2LCAwLCAwLCAyLCAwKSwNCiAJfSwNCiAjZW5kaWYN CisjaWZkZWYgQ09ORklHX0ZVSklUU1VfRVJSQVRVTV8wMTAwMDENCisJew0K KwkJLmRlc2MgPSAiRnVqaXRzdSBlcnJhdHVtIDAxMDAwMSIsDQorCQkuY2Fw YWJpbGl0eSA9IEFSTTY0X1dPUktBUk9VTkRfRlVKSVRTVV9BNjRGWF8wMTAw MDAxLA0KKwkJRVJSQVRBX01JRFJfUkFOR0UoTUlEUl9GVUpJVFNVX0E2NEZY LCAwLCAwLCAxLCAwKSwNCisJfSwNCisjZW5kaWYNCisNCiAJew0KIAl9DQog fTsNCmRpZmYgLS1naXQgYS9hcmNoL2FybTY0L21tL2ZhdWx0LmMgYi9hcmNo L2FybTY0L21tL2ZhdWx0LmMNCmluZGV4IGVmYjdiMmMuLjM3ZTRmMTggMTAw NjQ0DQotLS0gYS9hcmNoL2FybTY0L21tL2ZhdWx0LmMNCisrKyBiL2FyY2gv YXJtNjQvbW0vZmF1bHQuYw0KQEAgLTY2Niw2ICs2NjYsMjggQEAgc3RhdGlj IGludCBkb19zZWEodW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBpbnQg ZXNyLCBzdHJ1Y3QgcHRfcmVncyAqcmVncykNCiAJcmV0dXJuIDA7DQogfQ0K IA0KK3N0YXRpYyBpbnQgZG9fYmFkX3Vua25vd25fNjModW5zaWduZWQgbG9u ZyBhZGRyLCB1bnNpZ25lZCBpbnQgZXNyLCBzdHJ1Y3QgcHRfcmVncyAqcmVn cykNCit7DQorCS8qDQorCSAqIE9uIHNvbWUgdmFyaWFudHMgb2YgdGhlIEZ1 aml0c3UtQTY0RlggY29yZXMgdmVyKDEuMCwgMS4xKSwNCisJICogbWVtb3J5 IGFjY2Vzc2VzIG1heSBzcHVyaW91c2x5IHRyaWdnZXIgZGF0YSBhYm9ydHMg d2l0aA0KKwkgKiBERlNDPTBiMTExMTExLg0KKwkgKi8NCisJaWYgKElTX0VO QUJMRUQoQ09ORklHX0ZVSklUU1VfRVJSQVRVTV8wMTAwMDEpKSB7DQorCQlp ZiAoY3B1c19oYXZlX2NhcChBUk02NF9XT1JLQVJPVU5EX0ZVSklUU1VfQTY0 RlhfMDEwMDAwMSkpIHsNCisJCQlyZXR1cm4gMDsNCisJCX0gZWxzZSB7IC8q IGNwdSBjYXBhYmlsaXRpZXMgbWF5YmUgbm90IHJlYWR5Ki8NCisJCQl1bnNp Z25lZCBpbnQgY3VycmVudF9jcHVfbWlkciA9IHJlYWRfY3B1aWRfaWQoKTsN CisJCQljb25zdCBzdHJ1Y3QgbWlkcl9yYW5nZSBmdWppdHN1X2E2NGZ4X21p ZHJfcmFuZ2UgPSB7DQorCQkJCU1JRFJfRlVKSVRTVV9BNjRGWCwgTUlEUl9D UFVfVkFSX1JFVigwLCAwKSwgTUlEUl9DUFVfVkFSX1JFVigxLCAwKQ0KKwkJ CX07DQorCQkJaWYgKGlzX21pZHJfaW5fcmFuZ2UoY3VycmVudF9jcHVfbWlk ciwgJmZ1aml0c3VfYTY0ZnhfbWlkcl9yYW5nZSkgPT0gVFJVRSkNCisJCQkJ cmV0dXJuIDA7DQorCQl9DQorCX0NCisJcmV0dXJuIGRvX2JhZChhZGRyLCBl c3IsIHJlZ3MpOw0KK30NCisNCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZhdWx0 X2luZm8gZmF1bHRfaW5mb1tdID0gew0KIAl7IGRvX2JhZCwJCVNJR0tJTEws IFNJX0tFUk5FTCwJInR0YnIgYWRkcmVzcyBzaXplIGZhdWx0Igl9LA0KIAl7 IGRvX2JhZCwJCVNJR0tJTEwsIFNJX0tFUk5FTCwJImxldmVsIDEgYWRkcmVz cyBzaXplIGZhdWx0Igl9LA0KQEAgLTczMCw3ICs3NTIsNyBAQCBzdGF0aWMg aW50IGRvX3NlYSh1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGludCBl c3IsIHN0cnVjdCBwdF9yZWdzICpyZWdzKQ0KIAl7IGRvX2JhZCwJCVNJR0tJ TEwsIFNJX0tFUk5FTCwJInVua25vd24gNjAiCQkJfSwNCiAJeyBkb19iYWQs CQlTSUdLSUxMLCBTSV9LRVJORUwsCSJzZWN0aW9uIGRvbWFpbiBmYXVsdCIJ CX0sDQogCXsgZG9fYmFkLAkJU0lHS0lMTCwgU0lfS0VSTkVMLAkicGFnZSBk b21haW4gZmF1bHQiCQl9LA0KLQl7IGRvX2JhZCwJCVNJR0tJTEwsIFNJX0tF Uk5FTCwJInVua25vd24gNjMiCQkJfSwNCisJeyBkb19iYWRfdW5rbm93bl82 MywJU0lHS0lMTCwgU0lfS0VSTkVMLAkidW5rbm93biA2MyIJCQl9LA0KIH07 DQogDQogaW50IGhhbmRsZV9ndWVzdF9zZWEocGh5c19hZGRyX3QgYWRkciwg dW5zaWduZWQgaW50IGVzcikNCi0tIA0KMS44LjMuMQ0K