From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesse Barnes Subject: Re: [PATCH 26/43] drm/i915: Protect register macro arguments Date: Mon, 12 Oct 2015 09:03:18 -0700 Message-ID: <561BD9C6.8030705@virtuousgeek.org> References: <1442595836-23981-1-git-send-email-ville.syrjala@linux.intel.com> <1442595836-23981-27-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pa0-f42.google.com (mail-pa0-f42.google.com [209.85.220.42]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2C49B6EA91 for ; Mon, 12 Oct 2015 09:02:30 -0700 (PDT) Received: by pabrc13 with SMTP id rc13so22574318pab.0 for ; Mon, 12 Oct 2015 09:02:29 -0700 (PDT) In-Reply-To: <1442595836-23981-27-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: ville.syrjala@linux.intel.com, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gMDkvMTgvMjAxNSAxMDowMyBBTSwgdmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20gd3Jv dGU6Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNv bT4KPiAKPiBBbHdheXMgcHV0IHBhcmVucyBhcm91bmQgbWFjcm8gYXJndW1lbnQgZXZhbHVhdGlv bnMuCj4gCj4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCB8 IDkyICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBj aGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCA0NiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmgKPiBpbmRleCAwMjE2NzcxLi4yMWQ0OWU3IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oCj4gQEAgLTQyOSw3ICs0MjksNyBAQAo+ICAjZGVmaW5lICAgQVNZTkNfRkxJUCAg ICAgICAgICAgICAgICAoMTw8MjIpCj4gICNkZWZpbmUgICBESVNQTEFZX1BMQU5FX0EgICAgICAg ICAgICgwPDwyMCkKPiAgI2RlZmluZSAgIERJU1BMQVlfUExBTkVfQiAgICAgICAgICAgKDE8PDIw KQo+IC0jZGVmaW5lIEdGWF9PUF9QSVBFX0NPTlRST0wobGVuKQkoKDB4Mzw8MjkpfCgweDM8PDI3 KXwoMHgyPDwyNCl8KGxlbi0yKSkKPiArI2RlZmluZSBHRlhfT1BfUElQRV9DT05UUk9MKGxlbikJ KCgweDM8PDI5KXwoMHgzPDwyNyl8KDB4Mjw8MjQpfCgobGVuKS0yKSkKPiAgI2RlZmluZSAgIFBJ UEVfQ09OVFJPTF9GTFVTSF9MMwkJCQkoMTw8MjcpCj4gICNkZWZpbmUgICBQSVBFX0NPTlRST0xf R0xPQkFMX0dUVF9JVkIJCQkoMTw8MjQpIC8qIGdlbjcrICovCj4gICNkZWZpbmUgICBQSVBFX0NP TlRST0xfTU1JT19XUklURQkJCSgxPDwyMykKPiBAQCAtMTI1MCw3ICsxMjUwLDcgQEAgZW51bSBz a2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgIFBPUlRfUExMX0RDT19BTVBfT1ZSX0VO X0gJKDE8PDI3KQo+ICAjZGVmaW5lICBQT1JUX1BMTF9EQ09fQU1QX0RFRkFVTFQJMTUKPiAgI2Rl ZmluZSAgUE9SVF9QTExfRENPX0FNUF9NQVNLCQkweDNjMDAKPiAtI2RlZmluZSAgUE9SVF9QTExf RENPX0FNUCh4KQkJKHg8PDEwKQo+ICsjZGVmaW5lICBQT1JUX1BMTF9EQ09fQU1QKHgpCQkoKHgp PDwxMCkKPiAgI2RlZmluZSBfUE9SVF9QTExfQkFTRShwb3J0KQkJX1BPUlQzKHBvcnQsIF9QT1JU X1BMTF8wX0EsCVwKPiAgCQkJCQkJX1BPUlRfUExMXzBfQiwJCVwKPiAgCQkJCQkJX1BPUlRfUExM XzBfQykKPiBAQCAtMTU0MCw4ICsxNTQwLDggQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7 Cj4gICNkZWZpbmUgUkVOREVSX0hXU19QR0FfR0VONwkoMHgwNDA4MCkKPiAgI2RlZmluZSBSSU5H X0ZBVUxUX1JFRyhyaW5nKQkoMHg0MDk0ICsgMHgxMDAqKHJpbmcpLT5pZCkKPiAgI2RlZmluZSAg IFJJTkdfRkFVTFRfR1RUU0VMX01BU0sgKDE8PDExKQo+IC0jZGVmaW5lICAgUklOR19GQVVMVF9T UkNJRCh4KQkoKHggPj4gMykgJiAweGZmKQo+IC0jZGVmaW5lICAgUklOR19GQVVMVF9GQVVMVF9U WVBFKHgpICgoeCA+PiAxKSAmIDB4MykKPiArI2RlZmluZSAgIFJJTkdfRkFVTFRfU1JDSUQoeCkJ KCgoeCkgPj4gMykgJiAweGZmKQo+ICsjZGVmaW5lICAgUklOR19GQVVMVF9GQVVMVF9UWVBFKHgp ICgoKHgpID4+IDEpICYgMHgzKQo+ICAjZGVmaW5lICAgUklOR19GQVVMVF9WQUxJRAkoMTw8MCkK PiAgI2RlZmluZSBET05FX1JFRwkJMHg0MGIwCj4gICNkZWZpbmUgR0VOOF9QUklWQVRFX1BBVF9M TwkweDQwZTAKPiBAQCAtMTYyNiw5ICsxNjI2LDkgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxs cyB7Cj4gICNkZWZpbmUgICBFUlJfSU5UX1BJUEVfQ1JDX0RPTkVfQgkoMTw8NSkKPiAgI2RlZmlu ZSAgIEVSUl9JTlRfRklGT19VTkRFUlJVTl9CCSgxPDwzKQo+ICAjZGVmaW5lICAgRVJSX0lOVF9Q SVBFX0NSQ19ET05FX0EJKDE8PDIpCj4gLSNkZWZpbmUgICBFUlJfSU5UX1BJUEVfQ1JDX0RPTkUo cGlwZSkJKDE8PCgyICsgcGlwZSozKSkKPiArI2RlZmluZSAgIEVSUl9JTlRfUElQRV9DUkNfRE9O RShwaXBlKQkoMTw8KDIgKyAocGlwZSkqMykpCj4gICNkZWZpbmUgICBFUlJfSU5UX0ZJRk9fVU5E RVJSVU5fQQkoMTw8MCkKPiAtI2RlZmluZSAgIEVSUl9JTlRfRklGT19VTkRFUlJVTihwaXBlKQko MTw8KHBpcGUqMykpCj4gKyNkZWZpbmUgICBFUlJfSU5UX0ZJRk9fVU5ERVJSVU4ocGlwZSkJKDE8 PCgocGlwZSkqMykpCj4gIAo+ICAjZGVmaW5lIEdFTjhfRkFVTFRfVExCX0RBVEEwCQkweDA0YjEw Cj4gICNkZWZpbmUgR0VOOF9GQVVMVF9UTEJfREFUQTEJCTB4MDRiMTQKPiBAQCAtMTY4OSw4ICsx Njg5LDggQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgICBHRU42X1dJ Wl9IQVNISU5HXzE2eDQJCQkJR0VONl9XSVpfSEFTSElORygxLCAwKQo+ICAjZGVmaW5lICAgR0VO Nl9XSVpfSEFTSElOR19NQVNLCQkJCUdFTjZfV0laX0hBU0hJTkcoMSwgMSkKPiAgI2RlZmluZSAg IEdFTjZfVERfRk9VUl9ST1dfRElTUEFUQ0hfRElTQUJMRQkJKDEgPDwgNSkKPiAtI2RlZmluZSAg IEdFTjlfSVpfSEFTSElOR19NQVNLKHNsaWNlKQkJCSgweDMgPDwgKHNsaWNlICogMikpCj4gLSNk ZWZpbmUgICBHRU45X0laX0hBU0hJTkcoc2xpY2UsIHZhbCkJCQkoKHZhbCkgPDwgKHNsaWNlICog MikpCj4gKyNkZWZpbmUgICBHRU45X0laX0hBU0hJTkdfTUFTSyhzbGljZSkJCQkoMHgzIDw8ICgo c2xpY2UpICogMikpCj4gKyNkZWZpbmUgICBHRU45X0laX0hBU0hJTkcoc2xpY2UsIHZhbCkJCQko KHZhbCkgPDwgKChzbGljZSkgKiAyKSkKPiAgCj4gICNkZWZpbmUgR0ZYX01PREUJMHgwMjUyMAo+ ICAjZGVmaW5lIEdGWF9NT0RFX0dFTjcJMHgwMjI5Ywo+IEBAIC0yODI4LDIxICsyODI4LDIxIEBA IGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAgKiAgIGRvZXNuJ3QgbmVlZCBzYXZpbmcg b24gR1QxCj4gICAqLwo+ICAjZGVmaW5lIENYVF9TSVpFCQkweDIxYTAKPiAtI2RlZmluZSBHRU42 X0NYVF9QT1dFUl9TSVpFKGN4dF9yZWcpCSgoY3h0X3JlZyA+PiAyNCkgJiAweDNmKQo+IC0jZGVm aW5lIEdFTjZfQ1hUX1JJTkdfU0laRShjeHRfcmVnKQkoKGN4dF9yZWcgPj4gMTgpICYgMHgzZikK PiAtI2RlZmluZSBHRU42X0NYVF9SRU5ERVJfU0laRShjeHRfcmVnKQkoKGN4dF9yZWcgPj4gMTIp ICYgMHgzZikKPiAtI2RlZmluZSBHRU42X0NYVF9FWFRFTkRFRF9TSVpFKGN4dF9yZWcpCSgoY3h0 X3JlZyA+PiA2KSAmIDB4M2YpCj4gLSNkZWZpbmUgR0VONl9DWFRfUElQRUxJTkVfU0laRShjeHRf cmVnKQkoKGN4dF9yZWcgPj4gMCkgJiAweDNmKQo+ICsjZGVmaW5lIEdFTjZfQ1hUX1BPV0VSX1NJ WkUoY3h0X3JlZykJKCgoY3h0X3JlZykgPj4gMjQpICYgMHgzZikKPiArI2RlZmluZSBHRU42X0NY VF9SSU5HX1NJWkUoY3h0X3JlZykJKCgoY3h0X3JlZykgPj4gMTgpICYgMHgzZikKPiArI2RlZmlu ZSBHRU42X0NYVF9SRU5ERVJfU0laRShjeHRfcmVnKQkoKChjeHRfcmVnKSA+PiAxMikgJiAweDNm KQo+ICsjZGVmaW5lIEdFTjZfQ1hUX0VYVEVOREVEX1NJWkUoY3h0X3JlZykJKCgoY3h0X3JlZykg Pj4gNikgJiAweDNmKQo+ICsjZGVmaW5lIEdFTjZfQ1hUX1BJUEVMSU5FX1NJWkUoY3h0X3JlZykJ KCgoY3h0X3JlZykgPj4gMCkgJiAweDNmKQo+ICAjZGVmaW5lIEdFTjZfQ1hUX1RPVEFMX1NJWkUo Y3h0X3JlZykJKEdFTjZfQ1hUX1JJTkdfU0laRShjeHRfcmVnKSArIFwKPiAgCQkJCQlHRU42X0NY VF9FWFRFTkRFRF9TSVpFKGN4dF9yZWcpICsgXAo+ICAJCQkJCUdFTjZfQ1hUX1BJUEVMSU5FX1NJ WkUoY3h0X3JlZykpCj4gICNkZWZpbmUgR0VON19DWFRfU0laRQkJMHgyMWE4Cj4gLSNkZWZpbmUg R0VON19DWFRfUE9XRVJfU0laRShjdHhfcmVnKQkoKGN0eF9yZWcgPj4gMjUpICYgMHg3ZikKPiAt I2RlZmluZSBHRU43X0NYVF9SSU5HX1NJWkUoY3R4X3JlZykJKChjdHhfcmVnID4+IDIyKSAmIDB4 NykKPiAtI2RlZmluZSBHRU43X0NYVF9SRU5ERVJfU0laRShjdHhfcmVnKQkoKGN0eF9yZWcgPj4g MTYpICYgMHgzZikKPiAtI2RlZmluZSBHRU43X0NYVF9FWFRFTkRFRF9TSVpFKGN0eF9yZWcpCSgo Y3R4X3JlZyA+PiA5KSAmIDB4N2YpCj4gLSNkZWZpbmUgR0VON19DWFRfR1QxX1NJWkUoY3R4X3Jl ZykJKChjdHhfcmVnID4+IDYpICYgMHg3KQo+IC0jZGVmaW5lIEdFTjdfQ1hUX1ZGU1RBVEVfU0la RShjdHhfcmVnKQkoKGN0eF9yZWcgPj4gMCkgJiAweDNmKQo+ICsjZGVmaW5lIEdFTjdfQ1hUX1BP V0VSX1NJWkUoY3R4X3JlZykJKCgoY3R4X3JlZykgPj4gMjUpICYgMHg3ZikKPiArI2RlZmluZSBH RU43X0NYVF9SSU5HX1NJWkUoY3R4X3JlZykJKCgoY3R4X3JlZykgPj4gMjIpICYgMHg3KQo+ICsj ZGVmaW5lIEdFTjdfQ1hUX1JFTkRFUl9TSVpFKGN0eF9yZWcpCSgoKGN0eF9yZWcpID4+IDE2KSAm IDB4M2YpCj4gKyNkZWZpbmUgR0VON19DWFRfRVhURU5ERURfU0laRShjdHhfcmVnKQkoKChjdHhf cmVnKSA+PiA5KSAmIDB4N2YpCj4gKyNkZWZpbmUgR0VON19DWFRfR1QxX1NJWkUoY3R4X3JlZykJ KCgoY3R4X3JlZykgPj4gNikgJiAweDcpCj4gKyNkZWZpbmUgR0VON19DWFRfVkZTVEFURV9TSVpF KGN0eF9yZWcpCSgoKGN0eF9yZWcpID4+IDApICYgMHgzZikKPiAgI2RlZmluZSBHRU43X0NYVF9U T1RBTF9TSVpFKGN0eF9yZWcpCShHRU43X0NYVF9FWFRFTkRFRF9TSVpFKGN0eF9yZWcpICsgXAo+ ICAJCQkJCSBHRU43X0NYVF9WRlNUQVRFX1NJWkUoY3R4X3JlZykpCj4gIC8qIEhhc3dlbGwgZG9l cyBoYXZlIHRoZSBDWFRfU0laRSByZWdpc3RlciBob3dldmVyIGl0IGRvZXMgbm90IGFwcGVhciB0 byBiZQo+IEBAIC01MTczLDE4ICs1MTczLDE4IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMg ewo+ICAjZGVmaW5lIF9TUEJDT05TVEFMUEhBCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NzIyYTgp Cj4gICNkZWZpbmUgX1NQQkdBTUMJCShWTFZfRElTUExBWV9CQVNFICsgMHg3MjJmNCkKPiAgCj4g LSNkZWZpbmUgU1BDTlRSKHBpcGUsIHBsYW5lKSBfUElQRShwaXBlICogMiArIHBsYW5lLCBfU1BB Q05UUiwgX1NQQkNOVFIpCj4gLSNkZWZpbmUgU1BMSU5PRkYocGlwZSwgcGxhbmUpIF9QSVBFKHBp cGUgKiAyICsgcGxhbmUsIF9TUEFMSU5PRkYsIF9TUEJMSU5PRkYpCj4gLSNkZWZpbmUgU1BTVFJJ REUocGlwZSwgcGxhbmUpIF9QSVBFKHBpcGUgKiAyICsgcGxhbmUsIF9TUEFTVFJJREUsIF9TUEJT VFJJREUpCj4gLSNkZWZpbmUgU1BQT1MocGlwZSwgcGxhbmUpIF9QSVBFKHBpcGUgKiAyICsgcGxh bmUsIF9TUEFQT1MsIF9TUEJQT1MpCj4gLSNkZWZpbmUgU1BTSVpFKHBpcGUsIHBsYW5lKSBfUElQ RShwaXBlICogMiArIHBsYW5lLCBfU1BBU0laRSwgX1NQQlNJWkUpCj4gLSNkZWZpbmUgU1BLRVlN SU5WQUwocGlwZSwgcGxhbmUpIF9QSVBFKHBpcGUgKiAyICsgcGxhbmUsIF9TUEFLRVlNSU5WQUws IF9TUEJLRVlNSU5WQUwpCj4gLSNkZWZpbmUgU1BLRVlNU0socGlwZSwgcGxhbmUpIF9QSVBFKHBp cGUgKiAyICsgcGxhbmUsIF9TUEFLRVlNU0ssIF9TUEJLRVlNU0spCj4gLSNkZWZpbmUgU1BTVVJG KHBpcGUsIHBsYW5lKSBfUElQRShwaXBlICogMiArIHBsYW5lLCBfU1BBU1VSRiwgX1NQQlNVUkYp Cj4gLSNkZWZpbmUgU1BLRVlNQVhWQUwocGlwZSwgcGxhbmUpIF9QSVBFKHBpcGUgKiAyICsgcGxh bmUsIF9TUEFLRVlNQVhWQUwsIF9TUEJLRVlNQVhWQUwpCj4gLSNkZWZpbmUgU1BUSUxFT0ZGKHBp cGUsIHBsYW5lKSBfUElQRShwaXBlICogMiArIHBsYW5lLCBfU1BBVElMRU9GRiwgX1NQQlRJTEVP RkYpCj4gLSNkZWZpbmUgU1BDT05TVEFMUEhBKHBpcGUsIHBsYW5lKSBfUElQRShwaXBlICogMiAr IHBsYW5lLCBfU1BBQ09OU1RBTFBIQSwgX1NQQkNPTlNUQUxQSEEpCj4gLSNkZWZpbmUgU1BHQU1D KHBpcGUsIHBsYW5lKSBfUElQRShwaXBlICogMiArIHBsYW5lLCBfU1BBR0FNQywgX1NQQkdBTUMp Cj4gKyNkZWZpbmUgU1BDTlRSKHBpcGUsIHBsYW5lKSBfUElQRSgocGlwZSkgKiAyICsgKHBsYW5l KSwgX1NQQUNOVFIsIF9TUEJDTlRSKQo+ICsjZGVmaW5lIFNQTElOT0ZGKHBpcGUsIHBsYW5lKSBf UElQRSgocGlwZSkgKiAyICsgKHBsYW5lKSwgX1NQQUxJTk9GRiwgX1NQQkxJTk9GRikKPiArI2Rl ZmluZSBTUFNUUklERShwaXBlLCBwbGFuZSkgX1BJUEUoKHBpcGUpICogMiArIChwbGFuZSksIF9T UEFTVFJJREUsIF9TUEJTVFJJREUpCj4gKyNkZWZpbmUgU1BQT1MocGlwZSwgcGxhbmUpIF9QSVBF KChwaXBlKSAqIDIgKyAocGxhbmUpLCBfU1BBUE9TLCBfU1BCUE9TKQo+ICsjZGVmaW5lIFNQU0la RShwaXBlLCBwbGFuZSkgX1BJUEUoKHBpcGUpICogMiArIChwbGFuZSksIF9TUEFTSVpFLCBfU1BC U0laRSkKPiArI2RlZmluZSBTUEtFWU1JTlZBTChwaXBlLCBwbGFuZSkgX1BJUEUoKHBpcGUpICog MiArIChwbGFuZSksIF9TUEFLRVlNSU5WQUwsIF9TUEJLRVlNSU5WQUwpCj4gKyNkZWZpbmUgU1BL RVlNU0socGlwZSwgcGxhbmUpIF9QSVBFKChwaXBlKSAqIDIgKyAocGxhbmUpLCBfU1BBS0VZTVNL LCBfU1BCS0VZTVNLKQo+ICsjZGVmaW5lIFNQU1VSRihwaXBlLCBwbGFuZSkgX1BJUEUoKHBpcGUp ICogMiArIChwbGFuZSksIF9TUEFTVVJGLCBfU1BCU1VSRikKPiArI2RlZmluZSBTUEtFWU1BWFZB TChwaXBlLCBwbGFuZSkgX1BJUEUoKHBpcGUpICogMiArIChwbGFuZSksIF9TUEFLRVlNQVhWQUws IF9TUEJLRVlNQVhWQUwpCj4gKyNkZWZpbmUgU1BUSUxFT0ZGKHBpcGUsIHBsYW5lKSBfUElQRSgo cGlwZSkgKiAyICsgKHBsYW5lKSwgX1NQQVRJTEVPRkYsIF9TUEJUSUxFT0ZGKQo+ICsjZGVmaW5l IFNQQ09OU1RBTFBIQShwaXBlLCBwbGFuZSkgX1BJUEUoKHBpcGUpICogMiArIChwbGFuZSksIF9T UEFDT05TVEFMUEhBLCBfU1BCQ09OU1RBTFBIQSkKPiArI2RlZmluZSBTUEdBTUMocGlwZSwgcGxh bmUpIF9QSVBFKChwaXBlKSAqIDIgKyAocGxhbmUpLCBfU1BBR0FNQywgX1NQQkdBTUMpCj4gIAo+ ICAvKgo+ICAgKiBDSFYgcGlwZSBCIHNwcml0ZSBDU0MKPiBAQCAtNTUzMCw3ICs1NTMwLDcgQEAg ZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgUFNfU0NBTEVSX01PREVfRFlO ICAoMCA8PCAyOCkKPiAgI2RlZmluZSBQU19TQ0FMRVJfTU9ERV9IUSAgKDEgPDwgMjgpCj4gICNk ZWZpbmUgUFNfUExBTkVfU0VMX01BU0sgICg3IDw8IDI1KQo+IC0jZGVmaW5lIFBTX1BMQU5FX1NF TChwbGFuZSkgKChwbGFuZSArIDEpIDw8IDI1KQo+ICsjZGVmaW5lIFBTX1BMQU5FX1NFTChwbGFu ZSkgKCgocGxhbmUpICsgMSkgPDwgMjUpCj4gICNkZWZpbmUgUFNfRklMVEVSX01BU0sgICAgICAg ICAoMyA8PCAyMykKPiAgI2RlZmluZSBQU19GSUxURVJfTUVESVVNICAgICAgICgwIDw8IDIzKQo+ ICAjZGVmaW5lIFBTX0ZJTFRFUl9FREdFX0VOSEFOQ0UgKDIgPDwgMjMpCj4gQEAgLTU2OTUsNyAr NTY5NSw3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lIERFX1BMQU5F QV9GTElQX0RPTkVfSVZCCQkoMTw8MykKPiAgI2RlZmluZSBERV9QTEFORV9GTElQX0RPTkVfSVZC KHBsYW5lKQkoMTw8ICgzICsgNSoocGxhbmUpKSkKPiAgI2RlZmluZSBERV9QSVBFQV9WQkxBTktf SVZCCQkoMTw8MCkKPiAtI2RlZmluZSBERV9QSVBFX1ZCTEFOS19JVkIocGlwZSkJKDEgPDwgKHBp cGUgKiA1KSkKPiArI2RlZmluZSBERV9QSVBFX1ZCTEFOS19JVkIocGlwZSkJKDEgPDwgKChwaXBl KSAqIDUpKQo+ICAKPiAgI2RlZmluZSBWTFZfTUFTVEVSX0lFUgkJCTB4NDQwMGMgLyogR3VuaXQg bWFzdGVyIElFUiAqLwo+ICAjZGVmaW5lICAgTUFTVEVSX0lOVEVSUlVQVF9FTkFCTEUJKDE8PDMx KQo+IEBAIC01NzE5LDcgKzU3MTksNyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAg I2RlZmluZSAgR0VOOF9ERV9QSVBFX0NfSVJRCQkoMTw8MTgpCj4gICNkZWZpbmUgIEdFTjhfREVf UElQRV9CX0lSUQkJKDE8PDE3KQo+ICAjZGVmaW5lICBHRU44X0RFX1BJUEVfQV9JUlEJCSgxPDwx NikKPiAtI2RlZmluZSAgR0VOOF9ERV9QSVBFX0lSUShwaXBlKQkJKDE8PCgxNitwaXBlKSkKPiAr I2RlZmluZSAgR0VOOF9ERV9QSVBFX0lSUShwaXBlKQkJKDE8PCgxNisocGlwZSkpKQo+ICAjZGVm aW5lICBHRU44X0dUX1ZFQ1NfSVJRCQkoMTw8NikKPiAgI2RlZmluZSAgR0VOOF9HVF9QTV9JUlEJ CQkoMTw8NCkKPiAgI2RlZmluZSAgR0VOOF9HVF9WQ1MyX0lSUQkJKDE8PDMpCj4gQEAgLTU3NjMs NyArNTc2Myw3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lICBHRU45 X1BJUEVfUExBTkUzX0ZMSVBfRE9ORQkoMSA8PCA1KQo+ICAjZGVmaW5lICBHRU45X1BJUEVfUExB TkUyX0ZMSVBfRE9ORQkoMSA8PCA0KQo+ICAjZGVmaW5lICBHRU45X1BJUEVfUExBTkUxX0ZMSVBf RE9ORQkoMSA8PCAzKQo+IC0jZGVmaW5lICBHRU45X1BJUEVfUExBTkVfRkxJUF9ET05FKHApCSgx IDw8ICgzICsgcCkpCj4gKyNkZWZpbmUgIEdFTjlfUElQRV9QTEFORV9GTElQX0RPTkUocCkJKDEg PDwgKDMgKyAocCkpKQo+ICAjZGVmaW5lIEdFTjhfREVfUElQRV9JUlFfRkFVTFRfRVJST1JTIFwK PiAgCShHRU44X1BJUEVfQ1VSU09SX0ZBVUxUIHwgXAo+ICAJIEdFTjhfUElQRV9TUFJJVEVfRkFV TFQgfCBcCj4gQEAgLTYwMjIsNyArNjAyMiw3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMg ewo+ICAjZGVmaW5lICBTRVJSX0lOVF9UUkFOU19DX0ZJRk9fVU5ERVJSVU4JKDE8PDYpCj4gICNk ZWZpbmUgIFNFUlJfSU5UX1RSQU5TX0JfRklGT19VTkRFUlJVTgkoMTw8MykKPiAgI2RlZmluZSAg U0VSUl9JTlRfVFJBTlNfQV9GSUZPX1VOREVSUlVOCSgxPDwwKQo+IC0jZGVmaW5lICBTRVJSX0lO VF9UUkFOU19GSUZPX1VOREVSUlVOKHBpcGUpCSgxPDwocGlwZSozKSkKPiArI2RlZmluZSAgU0VS Ul9JTlRfVFJBTlNfRklGT19VTkRFUlJVTihwaXBlKQkoMTw8KChwaXBlKSozKSkKPiAgCj4gIC8q IGRpZ2l0YWwgcG9ydCBob3RwbHVnICovCj4gICNkZWZpbmUgUENIX1BPUlRfSE9UUExVRwkJMHhj NDAzMAkvKiBTSE9UUExVR19DVEwgKi8KPiBAQCAtNjEzMyw5ICs2MTMzLDkgQEAgZW51bSBza2xf ZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgUENIX1NTQzRfQVVYX1BBUk1TICAgICAgMHhj NjIxNAo+ICAKPiAgI2RlZmluZSBQQ0hfRFBMTF9TRUwJCTB4YzcwMDAKPiAtI2RlZmluZQkgVFJB TlNfRFBMTEJfU0VMKHBpcGUpCQkoMSA8PCAocGlwZSAqIDQpKQo+ICsjZGVmaW5lCSBUUkFOU19E UExMQl9TRUwocGlwZSkJCSgxIDw8ICgocGlwZSkgKiA0KSkKPiAgI2RlZmluZQkgVFJBTlNfRFBM TEFfU0VMKHBpcGUpCQkwCj4gLSNkZWZpbmUgIFRSQU5TX0RQTExfRU5BQkxFKHBpcGUpCSgxIDw8 IChwaXBlICogNCArIDMpKQo+ICsjZGVmaW5lICBUUkFOU19EUExMX0VOQUJMRShwaXBlKQkoMSA8 PCAoKHBpcGUpICogNCArIDMpKQo+ICAKPiAgLyogdHJhbnNjb2RlciAqLwo+ICAKPiBAQCAtNzI5 NSw3ICs3Mjk1LDcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUgVFJB TlNfQ0xLX1NFTCh0cmFuKSBfVFJBTlNDT0RFUih0cmFuLCBUUkFOU19DTEtfU0VMX0EsIFRSQU5T X0NMS19TRUxfQikKPiAgLyogRm9yIGVhY2ggdHJhbnNjb2Rlciwgd2UgbmVlZCB0byBzZWxlY3Qg dGhlIGNvcnJlc3BvbmRpbmcgcG9ydCBjbG9jayAqLwo+ICAjZGVmaW5lICBUUkFOU19DTEtfU0VM X0RJU0FCTEVECQkoMHgwPDwyOSkKPiAtI2RlZmluZSAgVFJBTlNfQ0xLX1NFTF9QT1JUKHgpCQko KHgrMSk8PDI5KQo+ICsjZGVmaW5lICBUUkFOU19DTEtfU0VMX1BPUlQoeCkJCSgoKHgpKzEpPDwy OSkKPiAgCj4gICNkZWZpbmUgVFJBTlNBX01TQV9NSVNDCQkJMHg2MDQxMAo+ICAjZGVmaW5lIFRS QU5TQl9NU0FfTUlTQwkJCTB4NjE0MTAKPiBAQCAtNzM2OCwxMCArNzM2OCwxMCBAQCBlbnVtIHNr bF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgCj4gIC8qIERQTEwgY29udHJvbDIgKi8KPiAgI2RlZmlu ZSBEUExMX0NUUkwyCQkJCTB4NkMwNUMKPiAtI2RlZmluZSAgRFBMTF9DVFJMMl9ERElfQ0xLX09G Rihwb3J0KQkJKDE8PChwb3J0KzE1KSkKPiArI2RlZmluZSAgRFBMTF9DVFJMMl9ERElfQ0xLX09G Rihwb3J0KQkJKDE8PCgocG9ydCkrMTUpKQo+ICAjZGVmaW5lICBEUExMX0NUUkwyX0RESV9DTEtf U0VMX01BU0socG9ydCkJKDM8PCgocG9ydCkqMysxKSkKPiAgI2RlZmluZSAgRFBMTF9DVFJMMl9E RElfQ0xLX1NFTF9TSElGVChwb3J0KSAgICAoKHBvcnQpKjMrMSkKPiAtI2RlZmluZSAgRFBMTF9D VFJMMl9ERElfQ0xLX1NFTChjbGssIHBvcnQpCShjbGs8PCgocG9ydCkqMysxKSkKPiArI2RlZmlu ZSAgRFBMTF9DVFJMMl9ERElfQ0xLX1NFTChjbGssIHBvcnQpCSgoY2xrKTw8KChwb3J0KSozKzEp KQo+ICAjZGVmaW5lICBEUExMX0NUUkwyX0RESV9TRUxfT1ZFUlJJREUocG9ydCkgICAgICgxPDwo KHBvcnQpKjMpKQo+ICAKPiAgLyogRFBMTCBTdGF0dXMgKi8KPiBAQCAtNzM4NCwyMyArNzM4NCwy MyBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSBEUExMM19DRkdDUjEJ MHg2QzA1MAo+ICAjZGVmaW5lICBEUExMX0NGR0NSMV9GUkVRX0VOQUJMRQkoMTw8MzEpCj4gICNk ZWZpbmUgIERQTExfQ0ZHQ1IxX0RDT19GUkFDVElPTl9NQVNLCSgweDdmZmY8PDkpCj4gLSNkZWZp bmUgIERQTExfQ0ZHQ1IxX0RDT19GUkFDVElPTih4KQkoeDw8OSkKPiArI2RlZmluZSAgRFBMTF9D RkdDUjFfRENPX0ZSQUNUSU9OKHgpCSgoeCk8PDkpCj4gICNkZWZpbmUgIERQTExfQ0ZHQ1IxX0RD T19JTlRFR0VSX01BU0sJKDB4MWZmKQo+ICAKPiAgI2RlZmluZSBEUExMMV9DRkdDUjIJMHg2QzA0 NAo+ICAjZGVmaW5lIERQTEwyX0NGR0NSMgkweDZDMDRDCj4gICNkZWZpbmUgRFBMTDNfQ0ZHQ1Iy CTB4NkMwNTQKPiAgI2RlZmluZSAgRFBMTF9DRkdDUjJfUURJVl9SQVRJT19NQVNLCSgweGZmPDw4 KQo+IC0jZGVmaW5lICBEUExMX0NGR0NSMl9RRElWX1JBVElPKHgpCSh4PDw4KQo+IC0jZGVmaW5l ICBEUExMX0NGR0NSMl9RRElWX01PREUoeCkJKHg8PDcpCj4gKyNkZWZpbmUgIERQTExfQ0ZHQ1Iy X1FESVZfUkFUSU8oeCkJKCh4KTw8OCkKPiArI2RlZmluZSAgRFBMTF9DRkdDUjJfUURJVl9NT0RF KHgpCSgoeCk8PDcpCj4gICNkZWZpbmUgIERQTExfQ0ZHQ1IyX0tESVZfTUFTSwkJKDM8PDUpCj4g LSNkZWZpbmUgIERQTExfQ0ZHQ1IyX0tESVYoeCkJCSh4PDw1KQo+ICsjZGVmaW5lICBEUExMX0NG R0NSMl9LRElWKHgpCQkoKHgpPDw1KQo+ICAjZGVmaW5lICBEUExMX0NGR0NSMl9LRElWXzUgKDA8 PDUpCj4gICNkZWZpbmUgIERQTExfQ0ZHQ1IyX0tESVZfMiAoMTw8NSkKPiAgI2RlZmluZSAgRFBM TF9DRkdDUjJfS0RJVl8zICgyPDw1KQo+ICAjZGVmaW5lICBEUExMX0NGR0NSMl9LRElWXzEgKDM8 PDUpCj4gICNkZWZpbmUgIERQTExfQ0ZHQ1IyX1BESVZfTUFTSwkJKDc8PDIpCj4gLSNkZWZpbmUg IERQTExfQ0ZHQ1IyX1BESVYoeCkJCSh4PDwyKQo+ICsjZGVmaW5lICBEUExMX0NGR0NSMl9QRElW KHgpCQkoKHgpPDwyKQo+ICAjZGVmaW5lICBEUExMX0NGR0NSMl9QRElWXzEgKDA8PDIpCj4gICNk ZWZpbmUgIERQTExfQ0ZHQ1IyX1BESVZfMiAoMTw8MikKPiAgI2RlZmluZSAgRFBMTF9DRkdDUjJf UERJVl8zICgyPDwyKQo+IAoKUmV2aWV3ZWQtYnk6IEplc3NlIEJhcm5lcyA8amJhcm5lc0B2aXJ0 dW91c2dlZWsub3JnPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=