From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com [IPv6:2607:f8b0:4864:20::1030]) by sourceware.org (Postfix) with ESMTPS id C054E385841C for ; Mon, 28 Aug 2023 21:12:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C054E385841C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pj1-x1030.google.com with SMTP id 98e67ed59e1d1-26d49cf1811so1742649a91.0 for ; Mon, 28 Aug 2023 14:12:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693257133; x=1693861933; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=oUdkXNTmMaOjorjca+xwi8U5luzvsvLjJBp8dKDEuaI=; b=Ol/OAMaK4CH6MMz2pQyPnhUqkEvNeYU5JJmgmRIrmlSXOMeSHBinBzmk4gBq3CHS0N ZY8NdZGh1s/MYgj61dHuP48fl891wJ9peazOLNvP9L2lDDkThDxovzaXPRfMiEWf3SIB p1NwBPJe8GVY9udq+EQdQiRjr7RclUgdGOtT49L8OiTv/Z5hu8iL0UAhMuZrxJ8iECh1 2MxqqYArdKp07TrVI5idZG6P6y84wj5cAgCoOGxWstiFuw4ydgEdussklkefWg2CH7hz o5lQuHxzhuiEdiLdtGeWSED8kF8p/cEcK6iszTyusDJjfoS7P+Ix3WRYFqClOP6nYWrK 4YEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693257133; x=1693861933; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=oUdkXNTmMaOjorjca+xwi8U5luzvsvLjJBp8dKDEuaI=; b=GpyLDOjc8J3BfPsFulnU6zNrOKBV2MrvhVTDRxlMXaXVedpvkgpDxVUqu3VVBz5aD9 k5uCuTHwnBF9szIjuXLHuoHAnF4XLjlGo/3gXomlMA7c8He0X8YCs9IgR6m2JzSaT10y Oc3dcS3CdzpW2Ik2ObVaIcICG6EnWbXWu8eGcUzhGgAQB/pwz/v9sqgLqRe0gTMzDXsx GvjVfZ22xIC7B9cQ6RXHI3YOqiIl1bkfZ/mwTD/5tIU8IvjGA5wfnZDn3pEWSJsAsH4V bnUFDHZuKSDtfZqjU8xqndXmiso3youUfDrlf1VdxYxxvaJPhto6epewuMb0VdzpK9xf rrkQ== X-Gm-Message-State: AOJu0YwXJtqC84tvg+Z0Hzo3CP0SND9bKlIDAF3Er6nOrJRzESG6zkZ3 FtpMurqv+U+SJR8WDEzYQLc= X-Google-Smtp-Source: AGHT+IH5jspOiNX07tjGD6OIY+GK8TOzFj+y6pd5kG2Yfamq2/YXM0j6kZd+7w1isDYs1mrzfGiCyA== X-Received: by 2002:a17:90a:744b:b0:263:9e9b:5586 with SMTP id o11-20020a17090a744b00b002639e9b5586mr21121840pjk.44.1693257132475; Mon, 28 Aug 2023 14:12:12 -0700 (PDT) Received: from [172.31.0.109] ([136.36.130.248]) by smtp.gmail.com with ESMTPSA id v6-20020a17090a088600b0025023726fc4sm9346712pjc.26.2023.08.28.14.12.10 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 28 Aug 2023 14:12:11 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------njAWRQkZaWdVVj4l0VtalqA3" Message-ID: <807672d3-8514-cd12-df62-b8e754d390c2@gmail.com> Date: Mon, 28 Aug 2023 15:12:10 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [RFC PATCH 1/2] RISC-V: __builtin_riscv_pause for all environment Content-Language: en-US To: Tsukasa OI , Kito Cheng , Palmer Dabbelt , Andrew Waterman , Jim Wilson Cc: gcc-patches@gcc.gnu.org References: <83ae75c6dcbca1d37849305a79d9e2e712ceb5b0.1691561509.git.research_trasio@irq.a4lg.com> From: Jeff Law In-Reply-To: <83ae75c6dcbca1d37849305a79d9e2e712ceb5b0.1691561509.git.research_trasio@irq.a4lg.com> X-Spam-Status: No, score=-9.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,KAM_SHORT,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --------------njAWRQkZaWdVVj4l0VtalqA3 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 8/9/23 00:11, Tsukasa OI via Gcc-patches wrote: > From: Tsukasa OI > > The "pause" RISC-V hint instruction requires the 'Zihintpause' extension > (in the assembler). However, GCC emits "pause" unconditionally, making > an assembler error while compiling code with __builtin_riscv_pause while > the 'Zihintpause' extension disabled. > > However, the "pause" instruction code (0x0100000f) is a HINT and emitting > its instruction code is safe in any environment. > > This commit implements handling for the 'Zihintpause' extension and emits > ".insn 0x0100000f" instead of "pause" only if the extension is disabled > (making the diagnostics better). > > gcc/ChangeLog: > > * common/config/riscv/riscv-common.cc > (riscv_ext_version_table): Implement the 'Zihintpause' extension, > version 2.0. (riscv_ext_flag_table) Add 'Zihintpause' handling. > * config/riscv/riscv-builtins.cc: Remove availability predicate > "always" and add "hint_pause" and "hint_pause_pseudo", corresponding > the existence of the 'Zihintpause' extension. > (riscv_builtins) Split builtin implementation depending on the > existence of the 'Zihintpause' extension. > * config/riscv/riscv-opts.h > (MASK_ZIHINTPAUSE, TARGET_ZIHINTPAUSE): New. > * config/riscv/riscv.md (riscv_pause): Make it only available when > the 'Zihintpause' extension is enabled. (riscv_pause_insn) New > "pause" implementation when the 'Zihintpause' extension is disabled. > > gcc/testsuite/ChangeLog: > > * gcc.target/riscv/builtin_pause.c: Removed. > * gcc.target/riscv/zihintpause.c: > New test when the 'Zihintpause' extension is enabled. > * gcc.target/riscv/zihintpause-noarch.c: > New test when the 'Zihintpause' extension is disabled. So I cleaned this up a bit per the list discussion and pushed the final result. Hopefully I didn't goof anything too badly ;-) The net is we emit "pause" or a suitable .insn based on TARGET_ZIHINTPAUSE. Jeff --------------njAWRQkZaWdVVj4l0VtalqA3 Content-Type: text/plain; charset=UTF-8; name="P" Content-Disposition: attachment; filename="P" Content-Transfer-Encoding: base64 Y29tbWl0IGMyZDA0ZGQ2NTljNDk5ZDhkZjE5ZjY4ZDA2MDJhZDRjN2Q3MDY1YzIKQXV0aG9y OiBUc3VrYXNhIE9JIDxyZXNlYXJjaF90cmFzaW9AaXJxLmE0bGcuY29tPgpEYXRlOiAgIE1v biBBdWcgMjggMTU6MDQ6MTMgMjAyMyAtMDYwMAoKICAgIFJJU0MtVjogX19idWlsdGluX3Jp c2N2X3BhdXNlIGZvciBhbGwgZW52aXJvbm1lbnQKICAgIAogICAgVGhlICJwYXVzZSIgUklT Qy1WIGhpbnQgaW5zdHJ1Y3Rpb24gcmVxdWlyZXMgdGhlICdaaWhpbnRwYXVzZScgZXh0ZW5z aW9uIChpbgogICAgdGhlIGFzc2VtYmxlcikuICBIb3dldmVyLCBHQ0MgZW1pdHMgInBhdXNl IiB1bmNvbmRpdGlvbmFsbHksIG1ha2luZyBhbgogICAgYXNzZW1ibGVyIGVycm9yIHdoaWxl IGNvbXBpbGluZyBjb2RlIHdpdGggX19idWlsdGluX3Jpc2N2X3BhdXNlIHdoaWxlIHRoZQog ICAgJ1ppaGludHBhdXNlJyBleHRlbnNpb24gZGlzYWJsZWQuCiAgICAKICAgIEhvd2V2ZXIs IHRoZSAicGF1c2UiIGluc3RydWN0aW9uIGNvZGUgKDB4MDEwMDAwMGYpIGlzIGEgSElOVCBh bmQgZW1pdHRpbmcgaXRzCiAgICBpbnN0cnVjdGlvbiBjb2RlIGlzIHNhZmUgaW4gYW55IGVu dmlyb25tZW50LgogICAgCiAgICBUaGlzIGNvbW1pdCBpbXBsZW1lbnRzIGhhbmRsaW5nIGZv ciB0aGUgJ1ppaGludHBhdXNlJyBleHRlbnNpb24gYW5kIGVtaXRzCiAgICAiLmluc24gMHgw MTAwMDAwZiIgaW5zdGVhZCBvZiAicGF1c2UiIG9ubHkgaWYgdGhlIGV4dGVuc2lvbiBpcyBk aXNhYmxlZCAobWFraW5nCiAgICB0aGUgZGlhZ25vc3RpY3MgYmV0dGVyKS4KICAgIAogICAg Z2NjL0NoYW5nZUxvZzoKICAgIAogICAgICAgICAgICAqIGNvbW1vbi9jb25maWcvcmlzY3Yv cmlzY3YtY29tbW9uLmNjIChyaXNjdl9leHRfdmVyc2lvbl90YWJsZSk6CiAgICAgICAgICAg IEltcGxlbWVudCB0aGUgJ1ppaGludHBhdXNlJyBleHRlbnNpb24sIHZlcnNpb24gMi4wLgog ICAgICAgICAgICAocmlzY3ZfZXh0X2ZsYWdfdGFibGUpIEFkZCAnWmloaW50cGF1c2UnIGhh bmRsaW5nLgogICAgICAgICAgICAqIGNvbmZpZy9yaXNjdi9yaXNjdi1idWlsdGlucy5jYzog UmVtb3ZlIGF2YWlsYWJpbGl0eSBwcmVkaWNhdGUKICAgICAgICAgICAgImFsd2F5cyIgYW5k IGFkZCAiaGludF9wYXVzZSIuCiAgICAgICAgICAgIChyaXNjdl9idWlsdGlucykgOiBBZGQg InBhdXNlIiBleHRlbnNpb24uCiAgICAgICAgICAgICogY29uZmlnL3Jpc2N2L3Jpc2N2LW9w dHMuaCAoTUFTS19aSUhJTlRQQVVTRSwgVEFSR0VUX1pJSElOVFBBVVNFKTogTmV3LgogICAg ICAgICAgICAqIGNvbmZpZy9yaXNjdi9yaXNjdi5tZCAocmlzY3ZfcGF1c2UpOiBBZGp1c3Qg b3V0cHV0IGJhc2VkIG9uCiAgICAgICAgICAgIFRBUkdFVF9aSUhJTlRQQVVTRS4KICAgIAog ICAgZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6CiAgICAKICAgICAgICAgICAgKiBnY2MudGFy Z2V0L3Jpc2N2L2J1aWx0aW5fcGF1c2UuYzogUmVtb3ZlZC4KICAgICAgICAgICAgKiBnY2Mu dGFyZ2V0L3Jpc2N2L3ppaGludHBhdXNlLTEuYzogTmV3IHRlc3Qgd2hlbiB0aGUgJ1ppaGlu dHBhdXNlJwogICAgICAgICAgICBleHRlbnNpb24gaXMgZW5hYmxlZC4KICAgICAgICAgICAg KiBnY2MudGFyZ2V0L3Jpc2N2L3ppaGludHBhdXNlLTIuYzogTGlrZXdpc2UuCiAgICAgICAg ICAgICogZ2NjLnRhcmdldC9yaXNjdi96aWhpbnRwYXVzZS1ub2FyY2guYzogTmV3IHRlc3Qg d2hlbiB0aGUgJ1ppaGludHBhdXNlJwogICAgICAgICAgICBleHRlbnNpb24gaXMgZGlzYWJs ZWQuCgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbW1vbi9jb25maWcvcmlzY3YvcmlzY3YtY29tbW9u LmNjIGIvZ2NjL2NvbW1vbi9jb25maWcvcmlzY3YvcmlzY3YtY29tbW9uLmNjCmluZGV4IDEy OGE3MDIwMTcyLi5hNWI2MmNkYTNhMCAxMDA2NDQKLS0tIGEvZ2NjL2NvbW1vbi9jb25maWcv cmlzY3YvcmlzY3YtY29tbW9uLmNjCisrKyBiL2djYy9jb21tb24vY29uZmlnL3Jpc2N2L3Jp c2N2LWNvbW1vbi5jYwpAQCAtMjI0LDYgKzIyNCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg cmlzY3ZfZXh0X3ZlcnNpb24gcmlzY3ZfZXh0X3ZlcnNpb25fdGFibGVbXSA9CiAgIHsiemt0 IiwgICBJU0FfU1BFQ19DTEFTU19OT05FLCAxLCAwfSwKIAogICB7InppaGludG50bCIsIElT QV9TUEVDX0NMQVNTX05PTkUsIDEsIDB9LAorICB7InppaGludHBhdXNlIiwgSVNBX1NQRUNf Q0xBU1NfTk9ORSwgMiwgMH0sCiAKICAgeyJ6aWNib3oiLElTQV9TUEVDX0NMQVNTX05PTkUs IDEsIDB9LAogICB7InppY2JvbSIsSVNBX1NQRUNfQ0xBU1NfTk9ORSwgMSwgMH0sCkBAIC0x MzgxLDYgKzEzODIsNyBAQCBzdGF0aWMgY29uc3QgcmlzY3ZfZXh0X2ZsYWdfdGFibGVfdCBy aXNjdl9leHRfZmxhZ190YWJsZVtdID0KICAgeyJ6a3QiLCAgICAmZ2NjX29wdGlvbnM6Onhf cmlzY3Zfemtfc3ViZXh0LCBNQVNLX1pLVH0sCiAKICAgeyJ6aWhpbnRudGwiLCAmZ2NjX29w dGlvbnM6OnhfcmlzY3Zfemlfc3ViZXh0LCBNQVNLX1pJSElOVE5UTH0sCisgIHsiemloaW50 cGF1c2UiLCAmZ2NjX29wdGlvbnM6OnhfcmlzY3Zfemlfc3ViZXh0LCBNQVNLX1pJSElOVFBB VVNFfSwKIAogICB7InppY2JveiIsICZnY2Nfb3B0aW9uczo6eF9yaXNjdl96aWNtb19zdWJl eHQsIE1BU0tfWklDQk9afSwKICAgeyJ6aWNib20iLCAmZ2NjX29wdGlvbnM6OnhfcmlzY3Zf emljbW9fc3ViZXh0LCBNQVNLX1pJQ0JPTX0sCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LWJ1aWx0aW5zLmNjIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1idWlsdGlu cy5jYwppbmRleCA3OTY4MWQ3NTk2Mi4uOGFmZTdiN2U5N2QgMTAwNjQ0Ci0tLSBhL2djYy9j b25maWcvcmlzY3YvcmlzY3YtYnVpbHRpbnMuY2MKKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9y aXNjdi1idWlsdGlucy5jYwpAQCAtMTIyLDcgKzEyMiw3IEBAIEFWQUlMIChjbG11bF96Ymtj MzJfb3JfemJjMzIsIChUQVJHRVRfWkJLQyB8fCBUQVJHRVRfWkJDKSAmJiAhVEFSR0VUXzY0 QklUKQogQVZBSUwgKGNsbXVsX3pia2M2NF9vcl96YmM2NCwgKFRBUkdFVF9aQktDIHx8IFRB UkdFVF9aQkMpICYmIFRBUkdFVF82NEJJVCkKIEFWQUlMIChjbG11bHJfemJjMzIsIFRBUkdF VF9aQkMgJiYgIVRBUkdFVF82NEJJVCkKIEFWQUlMIChjbG11bHJfemJjNjQsIFRBUkdFVF9a QkMgJiYgVEFSR0VUXzY0QklUKQotQVZBSUwgKGFsd2F5cywgICAgICghMCkpCitBVkFJTCAo aGludF9wYXVzZSwgKCEwKSkKIAogLyogQ29uc3RydWN0IGEgcmlzY3ZfYnVpbHRpbl9kZXNj cmlwdGlvbiBmcm9tIHRoZSBnaXZlbiBhcmd1bWVudHMuCiAKQEAgLTE3OSw3ICsxNzksNyBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IHJpc2N2X2J1aWx0aW5fZGVzY3JpcHRpb24gcmlzY3Zf YnVpbHRpbnNbXSA9IHsKIAogICBESVJFQ1RfQlVJTFRJTiAoZnJmbGFncywgUklTQ1ZfVVNJ X0ZUWVBFLCBoYXJkX2Zsb2F0KSwKICAgRElSRUNUX05PX1RBUkdFVF9CVUlMVElOIChmc2Zs YWdzLCBSSVNDVl9WT0lEX0ZUWVBFX1VTSSwgaGFyZF9mbG9hdCksCi0gIERJUkVDVF9OT19U QVJHRVRfQlVJTFRJTiAocGF1c2UsIFJJU0NWX1ZPSURfRlRZUEUsIGFsd2F5cyksCisgIFJJ U0NWX0JVSUxUSU4gKHBhdXNlLCAicGF1c2UiLCBSSVNDVl9CVUlMVElOX0RJUkVDVF9OT19U QVJHRVQsIFJJU0NWX1ZPSURfRlRZUEUsIGhpbnRfcGF1c2UpLAogfTsKIAogLyogSW5kZXgg SSBpcyB0aGUgZnVuY3Rpb24gZGVjbGFyYXRpb24gZm9yIHJpc2N2X2J1aWx0aW5zW0ldLCBv ciBudWxsIGlmIHRoZQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1vcHRz LmggYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LW9wdHMuaAppbmRleCBiMWUwNTk2N2MxZi4u NWVkNjlhYmQyMTQgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytb3B0cy5o CisrKyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytb3B0cy5oCkBAIC0xMDIsMTAgKzEwMiwx MiBAQCBlbnVtIHJpc2N2X2VudGl0eQogI2RlZmluZSBNQVNLX1pJQ1NSICAgICgxIDw8IDAp CiAjZGVmaW5lIE1BU0tfWklGRU5DRUkgKDEgPDwgMSkKICNkZWZpbmUgTUFTS19aSUhJTlRO VEwgKDEgPDwgMikKKyNkZWZpbmUgTUFTS19aSUhJTlRQQVVTRSAoMSA8PCAzKQogCiAjZGVm aW5lIFRBUkdFVF9aSUNTUiAgICAoKHJpc2N2X3ppX3N1YmV4dCAmIE1BU0tfWklDU1IpICE9 IDApCiAjZGVmaW5lIFRBUkdFVF9aSUZFTkNFSSAoKHJpc2N2X3ppX3N1YmV4dCAmIE1BU0tf WklGRU5DRUkpICE9IDApCiAjZGVmaW5lIFRBUkdFVF9aSUhJTlROVEwgKChyaXNjdl96aV9z dWJleHQgJiBNQVNLX1pJSElOVE5UTCkgIT0gMCkKKyNkZWZpbmUgVEFSR0VUX1pJSElOVFBB VVNFICgocmlzY3Zfemlfc3ViZXh0ICYgTUFTS19aSUhJTlRQQVVTRSkgIT0gMCkKIAogI2Rl ZmluZSBNQVNLX1pBV1JTICAgKDEgPDwgMCkKICNkZWZpbmUgVEFSR0VUX1pBV1JTICgocmlz Y3ZfemFfc3ViZXh0ICYgTUFTS19aQVdSUykgIT0gMCkKZGlmZiAtLWdpdCBhL2djYy9jb25m aWcvcmlzY3YvcmlzY3YubWQgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2Lm1kCmluZGV4IDQ3 ZDE0ZDk5OTAzLi44N2Y0YTRhMzNmOSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9y aXNjdi5tZAorKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2Lm1kCkBAIC0yMjc1LDcgKzIy NzUsNyBAQCAoZGVmaW5lX2luc24gImZlbmNlX2kiCiAoZGVmaW5lX2luc24gInJpc2N2X3Bh dXNlIgogICBbKHVuc3BlY192b2xhdGlsZSBbKGNvbnN0X2ludCAwKV0gVU5TUEVDVl9QQVVT RSldCiAgICIiCi0gICJwYXVzZSIpCisgICIqIHJldHVybiBUQVJHRVRfWklISU5UUEFVU0Ug PyBcInBhdXNlXCIgOiBcIi5pbnNuXHQweDAxMDAwMDBmXCI7IikKIAogOzsKIDs7ICAuLi4u Li4uLi4uLi4uLi4uLi4uLgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L2J1aWx0aW5fcGF1c2UuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNj di9idWlsdGluX3BhdXNlLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkyNTA5 MzdjYWJiLi4wMDAwMDAwMDAwMAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvYnVpbHRpbl9wYXVzZS5jCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotLyog eyBkZy1kbyBjb21waWxlIH0gKi8KLS8qIHsgZGctb3B0aW9ucyAiLU8yIiB9ICAqLwotCi12 b2lkIHRlc3RfcGF1c2UoKQotewotICBfX2J1aWx0aW5fcmlzY3ZfcGF1c2UgKCk7Ci19Ci0K LS8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciAicGF1c2UiIH0gfSAqLwotCmRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemloaW50cGF1c2UtMS5j IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ppaGludHBhdXNlLTEuYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZmM4NmVmZTU1OTAKLS0tIC9k ZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemloaW50cGF1 c2UtMS5jCkBAIC0wLDAgKzEsMTEgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7 IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjY0aV96aWhpbnRwYXVzZSAtbWFiaT1scDY0IiB9ICov CisvKiB7IGRnLXNraXAtaWYgIiIgeyAqLSotKiB9IHsgIi1nIiAiLWZsdG8ifSB9ICovCisK K3ZvaWQKK3Rlc3QgKCkKK3sKKyAgX19idWlsdGluX3Jpc2N2X3BhdXNlICgpOworfQorCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgIlx0cGF1c2UiIDEgfSB9ICov CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemloaW50cGF1 c2UtMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ppaGludHBhdXNlLTIu YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNGVhY2E5NWU5ZjAK LS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yvemlo aW50cGF1c2UtMi5jCkBAIC0wLDAgKzEsMTEgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICov CisvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjMyaV96aWhpbnRwYXVzZSAtbWFiaT1pbHAz MiIgfSAqLworLyogeyBkZy1za2lwLWlmICIiIHsgKi0qLSogfSB7ICItZyIgIi1mbHRvIn0g fSAqLworCit2b2lkCit0ZXN0ICgpCit7CisgIF9fYnVpbHRpbl9yaXNjdl9wYXVzZSAoKTsK K30KKworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJcdHBhdXNlIiAx IH0gfSAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3pp aGludHBhdXNlLW5vYXJjaC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3pp aGludHBhdXNlLW5vYXJjaC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwLi43Y2U1Y2JhOTBkNQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi96aWhpbnRwYXVzZS1ub2FyY2guYwpAQCAtMCwwICsxLDEyIEBACisv KiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGkg LW1hYmk9bHA2NCIgIHsgdGFyZ2V0IHsgcnY2NCB9IH0gfSAqLworLyogeyBkZy1vcHRpb25z ICItbWFyY2g9cnYzMmkgLW1hYmk9aWxwMzIiIHsgdGFyZ2V0IHsgcnYzMiB9IH0gfSAqLwor LyogeyBkZy1za2lwLWlmICIiIHsgKi0qLSogfSB7ICItZyIgIi1mbHRvIn0gfSAqLworCit2 b2lkCit0ZXN0ICgpCit7CisgIF9fYnVpbHRpbl9yaXNjdl9wYXVzZSAoKTsKK30KKworLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICIweDAxMDAwMDBmIiAxIH0gfSAq Lwo= --------------njAWRQkZaWdVVj4l0VtalqA3--