From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH v2 2/4] drm/i915: introduce _BIT() and _MASK() to define register contents Date: Thu, 17 Jan 2019 15:02:34 +0200 Message-ID: <87won3wi6t.fsf@gaia.fi.intel.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id D2A586E36D for ; Thu, 17 Jan 2019 13:04:23 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: jani.nikula@intel.com List-Id: intel-gfx@lists.freedesktop.org SmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4gd3JpdGVzOgoKPiBJbnRyb2R1Y2Ug X0JJVChuKSB0byBkZWZpbmUgcmVnaXN0ZXIgYml0cyBhbmQgX01BU0soaCwgbCkgdG8gZGVmaW5l Cj4gcmVnaXN0ZXIgZmllbGQgbWFza3MuCj4KPiBXZSBkZWZpbmUgdGhlIGFib3ZlIGFzIHdyYXBw ZXJzIHRvIEJJVCgpIGFuZCBHRU5NQVNLKCkgcmVzcGVjdGl2ZWx5IHRvCj4gZm9yY2UgdTMyIHR5 cGUgdG8gZ28gd2l0aCBvdXIgcmVnaXN0ZXIgc2l6ZS4gQWRkaXRpb25hbGx5LCB0aGUgc3BlY2lm aWVkCj4gdHlwZSB3aWxsIGJlIGhlbHBmdWwgd2l0aCBmb2xsb3ctdXAgdG8gZGVmaW5lIGFuZCB1 c2UgcmVnaXN0ZXIgZmllbGQKPiB2YWx1ZXMgdGhyb3VnaCBiaXRmaWVsZCBvcGVyYXRpb25zLgo+ Cj4gVGhlIGludGVudGlvbiBpcyB0aGF0IHRoZXNlIGFyZSBlYXNpZXIgdG8gZ2V0IHJpZ2h0IGFu ZCByZXZpZXcgYWdhaW5zdAo+IHRoZSBzcGVjIHRoYW4gaGFuZCByb2xsZWQgbWFza3MuCj4KPiB2 MjogcmVuYW1lIG1hY3JvcyB0byBqdXN0IF9CSVQoKSBhbmQgX01BU0soKSB0byByZWR1Y2UgdmVy Ym9zaXR5Cj4KPiBDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4g Q2M6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KPiBD YzogTWljaGFsIFdhamRlY3prbyA8bWljaGFsLndhamRlY3prb0BpbnRlbC5jb20+Cj4gQ2M6IE1p a2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAbGludXguaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYt Ynk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmggfCA4MyArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygt KQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gaW5kZXggOTNjYmQwNTdjMDdhLi5iNmNjMDZi NDJjMWEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBAQCAtMjUsNiArMjUsOCBAQAo+ ICAjaWZuZGVmIF9JOTE1X1JFR19IXwo+ICAjZGVmaW5lIF9JOTE1X1JFR19IXwo+ICAKPiArI2lu Y2x1ZGUgPGxpbnV4L2JpdHMuaD4KPiArCj4gIC8qKgo+ICAgKiBET0M6IFRoZSBpOTE1IHJlZ2lz dGVyIG1hY3JvIGRlZmluaXRpb24gc3R5bGUgZ3VpZGUKPiAgICoKPiBAQCAtNTksMTUgKzYxLDEz IEBACj4gICAqIHNpZ25pZmljYW50IHRvIGxlYXN0IHNpZ25pZmljYW50IGJpdC4gSW5kZW50IHRo ZSByZWdpc3RlciBjb250ZW50IG1hY3Jvcwo+ICAgKiB1c2luZyB0d28gZXh0cmEgc3BhY2VzIGJl dHdlZW4gYGAjZGVmaW5lYGAgYW5kIHRoZSBtYWNybyBuYW1lLgo+ICAgKgo+IC0gKiBGb3IgYml0 IGZpZWxkcywgZGVmaW5lIGEgYGBfTUFTS2BgIGFuZCBhIGBgX1NISUZUYGAgbWFjcm8uIERlZmlu ZSBiaXQgZmllbGQKPiAtICogY29udGVudHMgc28gdGhhdCB0aGV5IGFyZSBhbHJlYWR5IHNoaWZ0 ZWQgaW4gcGxhY2UsIGFuZCBjYW4gYmUgZGlyZWN0bHkKPiAtICogT1InZC4gRm9yIGNvbnZlbmll bmNlLCBmdW5jdGlvbi1saWtlIG1hY3JvcyBtYXkgYmUgdXNlZCB0byBkZWZpbmUgYml0IGZpZWxk cywKPiAtICogYnV0IGRvIG5vdGUgdGhhdCB0aGUgbWFjcm9zIG1heSBiZSBuZWVkZWQgdG8gcmVh ZCBhcyB3ZWxsIGFzIHdyaXRlIHRoZQo+IC0gKiByZWdpc3RlciBjb250ZW50cy4KPiArICogRm9y IGJpdCBmaWVsZHMsIGRlZmluZSBhIGBgX01BU0tgYCBhbmQgYSBgYF9TSElGVGBgIG1hY3JvLiBV c2UgYGBfTUFTSygpYGAgdG8KPiArICogZGVmaW5lIF9NQVNLLiBEZWZpbmUgYml0IGZpZWxkIGNv bnRlbnRzIHNvIHRoYXQgdGhleSBhcmUgYWxyZWFkeSBzaGlmdGVkIGluCj4gKyAqIHBsYWNlLCBh bmQgY2FuIGJlIGRpcmVjdGx5IE9SJ2QuIEZvciBjb252ZW5pZW5jZSwgZnVuY3Rpb24tbGlrZSBt YWNyb3MgbWF5IGJlCj4gKyAqIHVzZWQgdG8gZGVmaW5lIGJpdCBmaWVsZHMsIGJ1dCBkbyBub3Rl IHRoYXQgdGhlIG1hY3JvcyBtYXkgYmUgbmVlZGVkIHRvIHJlYWQKPiArICogYXMgd2VsbCBhcyB3 cml0ZSB0aGUgcmVnaXN0ZXIgY29udGVudHMuCj4gICAqCj4gLSAqIERlZmluZSBiaXRzIHVzaW5n IGBgKDEgPDwgTilgYCBpbnN0ZWFkIG9mIGBgQklUKE4pYGAuIFdlIG1heSBjaGFuZ2UgdGhpcyBp bgo+IC0gKiB0aGUgZnV0dXJlLCBidXQgdGhpcyBpcyB0aGUgcHJldmFpbGluZyBzdHlsZS4gRG8g Kipub3QqKiBhZGQgYGBfQklUYGAgc3VmZml4Cj4gLSAqIHRvIHRoZSBuYW1lLgo+ICsgKiBEZWZp bmUgYml0cyB1c2luZyBgYF9CSVQoTilgYC4gRG8gKipub3QqKiBhZGQgYGBfQklUYGAgc3VmZml4 IHRvIHRoZSBuYW1lLgo+ICAgKgo+ICAgKiBHcm91cCB0aGUgcmVnaXN0ZXIgYW5kIGl0cyBjb250 ZW50cyB0b2dldGhlciB3aXRob3V0IGJsYW5rIGxpbmVzLCBzZXBhcmF0ZQo+ICAgKiBmcm9tIG90 aGVyIHJlZ2lzdGVycyBhbmQgdGhlaXIgY29udGVudHMgd2l0aCBvbmUgYmxhbmsgbGluZS4KPiBA QCAtMTA1LDggKzEwNSw4IEBACj4gICAqICAjZGVmaW5lIF9GT09fQSAgICAgICAgICAgICAgICAg ICAgICAweGYwMDAKPiAgICogICNkZWZpbmUgX0ZPT19CICAgICAgICAgICAgICAgICAgICAgIDB4 ZjAwMQo+ICAgKiAgI2RlZmluZSBGT08ocGlwZSkgICAgICAgICAgICAgICAgICAgX01NSU9fUElQ RShwaXBlLCBfRk9PX0EsIF9GT09fQikKPiAtICogICNkZWZpbmUgICBGT09fRU5BQkxFICAgICAg ICAgICAgICAgICgxIDw8IDMxKQo+IC0gKiAgI2RlZmluZSAgIEZPT19NT0RFX01BU0sgICAgICAg ICAgICAgKDB4ZiA8PCAxNikKPiArICogICNkZWZpbmUgICBGT09fRU5BQkxFICAgICAgICAgICAg ICAgIF9CSVQoMzEpCj4gKyAqICAjZGVmaW5lICAgRk9PX01PREVfTUFTSyAgICAgICAgICAgICBf TUFTSygxOSwgMTYpCj4gICAqICAjZGVmaW5lICAgRk9PX01PREVfU0hJRlQgICAgICAgICAgICAx Ngo+ICAgKiAgI2RlZmluZSAgIEZPT19NT0RFX0JBUiAgICAgICAgICAgICAgKDAgPDwgMTYpCj4g ICAqICAjZGVmaW5lICAgRk9PX01PREVfQkFaICAgICAgICAgICAgICAoMSA8PCAxNikKPiBAQCAt MTE2LDYgKzExNiwyMyBAQAo+ICAgKiAgI2RlZmluZSBHRU44X0JBUiAgICAgICAgICAgICAgICAg ICAgX01NSU8oMHhiODg4KQo+ICAgKi8KPiAgCj4gKy8qCj4gKyAqIE1hY3JvIGZvciBkZWZpbmlu ZyByZWdpc3RlciBiaXRzLiBCaXQgbnVtYmVyIGlzIDAtYmFzZWQuCj4gKyAqCj4gKyAqIExvY2Fs IHdyYXBwZXIgZm9yIEJJVCgpIHRvIGZvcmNlIHUzMi4gRG8gKm5vdCogdXNlIG91dHNpZGUgb2Yg dGhpcyBmaWxlLiBVc2UKPiArICogQklUKCkgaW5zdGVhZC4KPiArICovCj4gKyNkZWZpbmUgX0JJ VChfX24pCQkoKHUzMilCSVQoX19uKSkKPiArCj4gKy8qCj4gKyAqIE1hY3JvIGZvciBkZWZpbmlu ZyByZWdpc3RlciBmaWVsZCBtYXNrcy4gQml0IG51bWJlcnMgYXJlIDAtYmFzZWQgYW5kIHRoZSBt YXNrCj4gKyAqIGluY2x1ZGVzIHRoZSBoaWdoIGFuZCBsb3cgYml0cy4KPiArICoKPiArICogTG9j YWwgd3JhcHBlciBmb3IgR0VOTUFTSygpIHRvIGZvcmNlIHUzMi4gRG8gKm5vdCogdXNlIG91dHNp ZGUgb2YgdGhpcwo+ICsgKiBmaWxlLiBVc2UgR0VOTUFTSygpIGluc3RlYWQuCj4gKyAqLwo+ICsj ZGVmaW5lIF9NQVNLKF9faGlnaCwgX19sb3cpCSgodTMyKUdFTk1BU0soX19oaWdoLCBfX2xvdykp CgpKdXN0IHBvbmRlcmluZyBoZXJlIGlmIEJVSUxEX0JVR19PTihfX2xvdyA+IF9faGlnaCkgd291 bGQKcGF5IGl0c2VsZiBvZmYuCgotTWlrYQoKCj4gKwo+ICB0eXBlZGVmIHN0cnVjdCB7Cj4gIAl1 MzIgcmVnOwo+ICB9IGk5MTVfcmVnX3Q7Cj4gQEAgLTQ2NDEsMTggKzQ2NTgsMTggQEAgZW51bSB7 Cj4gIAo+ICAjZGVmaW5lIF9QUF9TVEFUVVMJCQkweDYxMjAwCj4gICNkZWZpbmUgUFBfU1RBVFVT KHBwc19pZHgpCQlfTU1JT19QUFMocHBzX2lkeCwgX1BQX1NUQVRVUykKPiAtI2RlZmluZSAgIFBQ X09OCQkJCSgxIDw8IDMxKQo+ICsjZGVmaW5lICAgUFBfT04JCQkJX0JJVCgzMSkKPiAgCj4gICNk ZWZpbmUgX1BQX0NPTlRST0xfMQkJCTB4YzcyMDQKPiAgI2RlZmluZSBfUFBfQ09OVFJPTF8yCQkJ MHhjNzMwNAo+ICAjZGVmaW5lIElDUF9QUF9DT05UUk9MKHgpCQlfTU1JTygoKHgpID09IDEpID8g X1BQX0NPTlRST0xfMSA6IFwKPiAgCQkJCQkgICAgICBfUFBfQ09OVFJPTF8yKQo+IC0jZGVmaW5l ICBQT1dFUl9DWUNMRV9ERUxBWV9NQVNLCSgweDFmIDw8IDQpCj4gKyNkZWZpbmUgIFBPV0VSX0NZ Q0xFX0RFTEFZX01BU0sJCV9NQVNLKDgsIDQpCj4gICNkZWZpbmUgIFBPV0VSX0NZQ0xFX0RFTEFZ X1NISUZUCTQKPiAtI2RlZmluZSAgVkREX09WRVJSSURFX0ZPUkNFCQkoMSA8PCAzKQo+IC0jZGVm aW5lICBCQUNLTElHSFRfRU5BQkxFCQkoMSA8PCAyKQo+IC0jZGVmaW5lICBQV1JfRE9XTl9PTl9S RVNFVAkJKDEgPDwgMSkKPiAtI2RlZmluZSAgUFdSX1NUQVRFX1RBUkdFVAkJKDEgPDwgMCkKPiAr I2RlZmluZSAgVkREX09WRVJSSURFX0ZPUkNFCQlfQklUKDMpCj4gKyNkZWZpbmUgIEJBQ0tMSUdI VF9FTkFCTEUJCV9CSVQoMikKPiArI2RlZmluZSAgUFdSX0RPV05fT05fUkVTRVQJCV9CSVQoMSkK PiArI2RlZmluZSAgUFdSX1NUQVRFX1RBUkdFVAkJX0JJVCgwKQo+ICAvKgo+ICAgKiBJbmRpY2F0 ZXMgdGhhdCBhbGwgZGVwZW5kZW5jaWVzIG9mIHRoZSBwYW5lbCBhcmUgb246Cj4gICAqCj4gQEAg LTQ2NjAsMTQgKzQ2NzcsMTQgQEAgZW51bSB7Cj4gICAqIC0gcGlwZSBlbmFibGVkCj4gICAqIC0g TFZEUy9EVk9CL0RWT0Mgb24KPiAgICovCj4gLSNkZWZpbmUgICBQUF9SRUFEWQkJCSgxIDw8IDMw KQo+ICsjZGVmaW5lICAgUFBfUkVBRFkJCQlfQklUKDMwKQo+ICsjZGVmaW5lICAgUFBfU0VRVUVO Q0VfTUFTSwkJX01BU0soMjksIDI4KQo+ICAjZGVmaW5lICAgUFBfU0VRVUVOQ0VfTk9ORQkJKDAg PDwgMjgpCj4gICNkZWZpbmUgICBQUF9TRVFVRU5DRV9QT1dFUl9VUAkJKDEgPDwgMjgpCj4gICNk ZWZpbmUgICBQUF9TRVFVRU5DRV9QT1dFUl9ET1dOCSgyIDw8IDI4KQo+IC0jZGVmaW5lICAgUFBf U0VRVUVOQ0VfTUFTSwkJKDMgPDwgMjgpCj4gICNkZWZpbmUgICBQUF9TRVFVRU5DRV9TSElGVAkJ MjgKPiAtI2RlZmluZSAgIFBQX0NZQ0xFX0RFTEFZX0FDVElWRQkJKDEgPDwgMjcpCj4gLSNkZWZp bmUgICBQUF9TRVFVRU5DRV9TVEFURV9NQVNLCTB4MDAwMDAwMGYKPiArI2RlZmluZSAgIFBQX0NZ Q0xFX0RFTEFZX0FDVElWRQkJX0JJVCgyNykKPiArI2RlZmluZSAgIFBQX1NFUVVFTkNFX1NUQVRF X01BU0sJX01BU0soMywgMCkKPiAgI2RlZmluZSAgIFBQX1NFUVVFTkNFX1NUQVRFX09GRl9JRExF CSgweDAgPDwgMCkKPiAgI2RlZmluZSAgIFBQX1NFUVVFTkNFX1NUQVRFX09GRl9TMF8xCSgweDEg PDwgMCkKPiAgI2RlZmluZSAgIFBQX1NFUVVFTkNFX1NUQVRFX09GRl9TMF8yCSgweDIgPDwgMCkK PiBAQCAtNDY4MCw0MSArNDY5Nyw0MSBAQCBlbnVtIHsKPiAgCj4gICNkZWZpbmUgX1BQX0NPTlRS T0wJCQkweDYxMjA0Cj4gICNkZWZpbmUgUFBfQ09OVFJPTChwcHNfaWR4KQkJX01NSU9fUFBTKHBw c19pZHgsIF9QUF9DT05UUk9MKQo+ICsjZGVmaW5lICBQQU5FTF9VTkxPQ0tfTUFTSwkJX01BU0so MzEsIDE2KQo+ICAjZGVmaW5lICBQQU5FTF9VTkxPQ0tfUkVHUwkJKDB4YWJjZCA8PCAxNikKPiAt I2RlZmluZSAgUEFORUxfVU5MT0NLX01BU0sJCSgweGZmZmYgPDwgMTYpCj4gLSNkZWZpbmUgIEJY VF9QT1dFUl9DWUNMRV9ERUxBWV9NQVNLCTB4MWYwCj4gKyNkZWZpbmUgIEJYVF9QT1dFUl9DWUNM RV9ERUxBWV9NQVNLCV9NQVNLKDgsIDQpCj4gICNkZWZpbmUgIEJYVF9QT1dFUl9DWUNMRV9ERUxB WV9TSElGVAk0Cj4gLSNkZWZpbmUgIEVEUF9GT1JDRV9WREQJCQkoMSA8PCAzKQo+IC0jZGVmaW5l ICBFRFBfQkxDX0VOQUJMRQkJCSgxIDw8IDIpCj4gLSNkZWZpbmUgIFBBTkVMX1BPV0VSX1JFU0VU CQkoMSA8PCAxKQo+IC0jZGVmaW5lICBQQU5FTF9QT1dFUl9PTgkJCSgxIDw8IDApCj4gKyNkZWZp bmUgIEVEUF9GT1JDRV9WREQJCQlfQklUKDMpCj4gKyNkZWZpbmUgIEVEUF9CTENfRU5BQkxFCQkJ X0JJVCgyKQo+ICsjZGVmaW5lICBQQU5FTF9QT1dFUl9SRVNFVAkJX0JJVCgxKQo+ICsjZGVmaW5l ICBQQU5FTF9QT1dFUl9PTgkJCV9CSVQoMCkKPiAgCj4gICNkZWZpbmUgX1BQX09OX0RFTEFZUwkJ CTB4NjEyMDgKPiAgI2RlZmluZSBQUF9PTl9ERUxBWVMocHBzX2lkeCkJCV9NTUlPX1BQUyhwcHNf aWR4LCBfUFBfT05fREVMQVlTKQo+ICAjZGVmaW5lICBQQU5FTF9QT1JUX1NFTEVDVF9TSElGVAkz MAo+IC0jZGVmaW5lICBQQU5FTF9QT1JUX1NFTEVDVF9NQVNLCQkoMyA8PCAzMCkKPiArI2RlZmlu ZSAgUEFORUxfUE9SVF9TRUxFQ1RfTUFTSwkJX01BU0soMzEsIDMwKQo+ICAjZGVmaW5lICBQQU5F TF9QT1JUX1NFTEVDVF9MVkRTCQkoMCA8PCAzMCkKPiAgI2RlZmluZSAgUEFORUxfUE9SVF9TRUxF Q1RfRFBBCQkoMSA8PCAzMCkKPiAgI2RlZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfRFBDCQkoMiA8 PCAzMCkKPiAgI2RlZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfRFBECQkoMyA8PCAzMCkKPiAgI2Rl ZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfVkxWKHBvcnQpCSgocG9ydCkgPDwgMzApCj4gLSNkZWZp bmUgIFBBTkVMX1BPV0VSX1VQX0RFTEFZX01BU0sJMHgxZmZmMDAwMAo+ICsjZGVmaW5lICBQQU5F TF9QT1dFUl9VUF9ERUxBWV9NQVNLCV9NQVNLKDI4LCAxNikKPiAgI2RlZmluZSAgUEFORUxfUE9X RVJfVVBfREVMQVlfU0hJRlQJMTYKPiAtI2RlZmluZSAgUEFORUxfTElHSFRfT05fREVMQVlfTUFT SwkweDFmZmYKPiArI2RlZmluZSAgUEFORUxfTElHSFRfT05fREVMQVlfTUFTSwlfTUFTSygxMiwg MCkKPiAgI2RlZmluZSAgUEFORUxfTElHSFRfT05fREVMQVlfU0hJRlQJMAo+ICAKPiAgI2RlZmlu ZSBfUFBfT0ZGX0RFTEFZUwkJCTB4NjEyMEMKPiAgI2RlZmluZSBQUF9PRkZfREVMQVlTKHBwc19p ZHgpCQlfTU1JT19QUFMocHBzX2lkeCwgX1BQX09GRl9ERUxBWVMpCj4gLSNkZWZpbmUgIFBBTkVM X1BPV0VSX0RPV05fREVMQVlfTUFTSwkweDFmZmYwMDAwCj4gKyNkZWZpbmUgIFBBTkVMX1BPV0VS X0RPV05fREVMQVlfTUFTSwlfTUFTSygyOCwgMTYpCj4gICNkZWZpbmUgIFBBTkVMX1BPV0VSX0RP V05fREVMQVlfU0hJRlQJMTYKPiAtI2RlZmluZSAgUEFORUxfTElHSFRfT0ZGX0RFTEFZX01BU0sJ MHgxZmZmCj4gKyNkZWZpbmUgIFBBTkVMX0xJR0hUX09GRl9ERUxBWV9NQVNLCV9NQVNLKDEyLCAw KQo+ICAjZGVmaW5lICBQQU5FTF9MSUdIVF9PRkZfREVMQVlfU0hJRlQJMAo+ICAKPiAgI2RlZmlu ZSBfUFBfRElWSVNPUgkJCTB4NjEyMTAKPiAgI2RlZmluZSBQUF9ESVZJU09SKHBwc19pZHgpCQlf TU1JT19QUFMocHBzX2lkeCwgX1BQX0RJVklTT1IpCj4gLSNkZWZpbmUgIFBQX1JFRkVSRU5DRV9E SVZJREVSX01BU0sJMHhmZmZmZmYwMAo+ICsjZGVmaW5lICBQUF9SRUZFUkVOQ0VfRElWSURFUl9N QVNLCV9NQVNLKDMxLCA4KQo+ICAjZGVmaW5lICBQUF9SRUZFUkVOQ0VfRElWSURFUl9TSElGVAk4 Cj4gLSNkZWZpbmUgIFBBTkVMX1BPV0VSX0NZQ0xFX0RFTEFZX01BU0sJMHgxZgo+ICsjZGVmaW5l ICBQQU5FTF9QT1dFUl9DWUNMRV9ERUxBWV9NQVNLCV9NQVNLKDQsIDApCj4gICNkZWZpbmUgIFBB TkVMX1BPV0VSX0NZQ0xFX0RFTEFZX1NISUZUCTAKPiAgCj4gIC8qIFBhbmVsIGZpdHRpbmcgKi8K PiAtLSAKPiAyLjIwLjEKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==