From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: [PATCH 3/6] alpha: Unify the not-implemented system call entry name Date: Sat, 11 Aug 2018 01:04:55 +0100 Message-ID: <20180811000455.GC6515@ZenIV.linux.org.uk> References: <1531736638-15294-1-git-send-email-firoz.khan@linaro.org> <1531736638-15294-4-git-send-email-firoz.khan@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1531736638-15294-4-git-send-email-firoz.khan@linaro.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: y2038-bounces@lists.linaro.org Sender: "Y2038" To: Firoz Khan Cc: linux-arch@vger.kernel.org, arnd@arndb.de, y2038@lists.linaro.org, linux-kernel@vger.kernel.org, ink@jurassic.park.msu.ru, deepa.kernel@gmail.com, linux-alpha@vger.kernel.org, mattst88@gmail.com, rth@twiddle.net List-Id: linux-arch.vger.kernel.org T24gTW9uLCBKdWwgMTYsIDIwMTggYXQgMDM6NTM6NTVQTSArMDUzMCwgRmlyb3ogS2hhbiB3cm90 ZToKPiBzeXN0YmwuUyBjb250YWluIHR3byB0eXBlcyBvZiBzeXN0ZW0gY2FsbCBlbnRyeSBuYW1l IHdoaWNoIGFyZQo+IGFscGhhX25pX3N5c2NhbGwgYW5kIHN5c19uaV9zeXNjYWxsLiBTbyB0aGlz IHBhdGNoIHdpbGwgdW5pZnkKPiB0aGUgbm90LWltcGxlbWVudGVkIHN5c3RlbSBjYWxsIGVudHJ5 IG5hbWUgYXMgYWxwaGFfbmlfc3lzY2FsbC4KClVtbS4uLiAgVGhlIHRoaW5nIGlzLCBhbHBoYV9u aV9zeXNjYWxsIHNob3VsZCByZWFsbHkgYmUgY2FsbGVkCmFscGhhX3N5c2NhbGxfMC4gIEl0cyB1 c2UgZm9yIG90aGVyIG5vdCBpbXBsZW1lbnRlZCBzeXNjYWxscyBpbgpPU0Ygc3lzY2FsbCBudW1i ZXJzIHJhbmdlIGlzIGEgaGlzdG9yaWNhbCBhY2NpZGVudC4KCldoYXQgdGhhdCB0aGluZyBkb2Vz IGlzLCBpbiBhZGRpdGlvbiB1c3VhbCByZXR1cm4gLUVOT1NZUywgaXMKdGhlIG9wcG9zaXRlIG9m IGZvcmNlX3N1Y2Nlc3NmdWxfc3lzY2FsbF9yZXR1cm4oKS4KCk9uIGFscGhhIHRoZSBzeXNjYWxs IG51bWJlciBpcyBwYXNzZWQgaW4gcjAuICBTbyBmb3IgZXZlcnkKcmVhbCBzeXNjYWxsIHdlIGhh dmUgbm9uLXplcm8gY3VycmVudF9wdF9yZWdzKCktPnIwCmFuZCBmb3JjZV9zdWNjZXNzZnVsX3N5 c2NhbGxfcmV0dXJuKCkgc2ltcGx5IGFzc2lnbnMgMCB0bwp0aGF0LgoKUmV0dXJuIHZhbHVlIGdv ZXMgaW4gdGhlIHNhbWUgcmVnaXN0ZXI7IGFkZGl0aW9uYWxseSwgcmVnaXN0ZXIgIzE5CihhMykg aXMgbGVmdCAwIG9uIHN1Y2Nlc3MgYW5kIDEgb24gZXJyb3IuICBOb3JtYWxseSBpdCdzIGNvbnRy b2xsZWQKYnkgdGhlIHNpZ24gb2Ygc3lzX3NvbWV0aGluZygpIHJldHVybiB2YWx1ZSAobGVmdCBp biByMCksIGJ1dCBmb3IKc29tZSBzeXNjYWxscyB3ZSB3YW50IHRvIGJlIGFibGUgdG8gdGVsbCB0 aGUgdXNlcmxhbmQgdGhhdCB0aGUgZGFtbgp0aGluZyBoYXMgc3VjY2VlZGVkLCBuZWdhdGl2ZSBy ZXN1bHQgYmUgZGFtbmVkLgoKVGhlIG9yaWdpbmFsIHZhbHVlIG9mIHIwIGlzIGxlZnQgaW4gcHRf cmVnczsgaXQgd2lsbCBiZSB1c2VkIG9ubHkKaW4gY2FzZSBvZiBzeXNjYWxsIHJlc3RhcnRzLCBp LmUuICpub3QqIGluICJ0aGF0J3Mgbm8gZXJyb3IiIGNhc2UuCkFuZCBpdCdzIG5vbi16ZXJvIG9u IGFueSByZWFsIHN5c2NhbGwsIHNvIGl0IHNlcnZlcyBhcyBhIG5pY2UKYXZhaWxhYmxlIHBsYWNl IGZvciBzdG9yaW5nIHRoZSAiaXQncyBub3QgYW4gZXJyb3IiIGZsYWcuCgpUaGF0IHdvcmtzIG5p Y2VseSwgYnV0IGxlYXZlcyBhIGJpdCBvZiBhIHR3aXN0IGluIG9uZSBjYXNlOiBpZiB3ZQp0cmll ZCB0byBpc3N1ZSBzeXNjYWxsIDAsIHdlIHdhbnQgaXQgdG8gcmV0dXJuIC1FTk9TWVMgYW5kIHdl IHdhbnQKdGhhdCB0byBiZSB0cmVhdGVkIGFzIGFuIGVycm9yLCBUWVZNLiAgVGhhdCdzIHdoZXJl IHRoaXMgdHJpY2sKY29tZXMgdG8gYml0ZSAtIHVubGlrZSB0aGUgbm9ybWFsIGNhc2UsIHdlIGhh dmUgcHRfcmVncy0+cjAKY29udGFpbmluZyB6ZXJvLCB3aGljaCB3b3VsZCB0cmlnZ2VyIHRoZSAi dGhhdCdzIG5vIGVycm9yIiBsb2dpY3MuCgpTaW5jZSAtRU5PU1lTIGlzIG5vdCBhIHJlc3RhcnQt dHJpZ2dlcmluZyBlcnJvciwgd2UgZG9uJ3QgbmVlZCB0bwpwcmVzZXJ2ZSB0aGUgb3JpZ2luYWwg dmFsdWUgb2YgcHRfcmVncy0+cjAgaW4gdGhpcyBjYXNlIGVpdGhlci4KU29sdXRpb246CgphbHBo YV9uaV9zeXNjYWxsOgoJbWFrZSBjdXJyZW50X3B0X3JlZ3MoKS0+cjAgbm9uLXplcm8KCXJldHVy biAtRU5PU1lTCgpUaGF0J3Mgd2hhdCB0aGUgY29tbWVudCBpbgphbHBoYV9uaV9zeXNjYWxsOgog ICAgICAgIC5wcm9sb2d1ZSAwCiAgICAgICAgLyogU3BlY2lhbCBiZWNhdXNlIGl0IGFsc28gaW1w bGVtZW50cyBvdmVyZmxvdyBoYW5kbGluZyB2aWEKICAgICAgICAgICBzeXNjYWxsIG51bWJlciAw LiAgQW5kIGlmIHlvdSByZWNhbGwsIHplcm8gaXMgYSBzcGVjaWFsCiAgICAgICAgICAgdHJpZ2dl ciBmb3IgIm5vdCBhbiBlcnJvciIuICBTdG9yZSBsYXJnZSBub24temVybyB0aGVyZS4gICovCiAg ICAgICAgbGRhICAgICAkMCwgLUVOT1NZUwogICAgICAgIHVub3AKICAgICAgICBzdHEgICAgICQw LCAwKCRzcCkKICAgICAgICByZXQKaXMgYWJvdXQuCgpPbmNlIHVwb24gYSB0aW1lIGl0IHVzZWQg dG8gaGF2ZSBhIEMgcGFydCB0aGF0IHByaW50ZWQgYSB3YXJuaW5nCmFib3V0IHVuaW1wbGVtZW50 ZWQgT1NGIHN5c2NhbGxzLiAgVGhhdCdzIHdoYXQgaXQncyBiZWVuIGRvaW5nCmFsbCBvdmVyIHRo ZSBPU0Ygc3lzY2FsbCByYW5nZSwgd2hpbGUgdGhlIG5hdGl2ZSBMaW51eCBzeXNjYWxsCnJhbmdl IHVzZXMgc3lzX25pX3N5c2NhbGwoKS4KCldpdGggdGhvc2Ugd2FybmluZ3MgYWJvdXQgdW5pbXBs ZW1lbnRlZCBPU0Ygc3lzY2FsbHMgZ29uZSAoY2lyY2EgMi40KSwKYWxwaGFfbmlfc3lzY2FsbCgp IGhhcyBzaHJ1bmsgdG8gdGhhdCBsaXR0bGUgYml0IG9mIGFzbSBhbmQgdGhlCm9ubHkgcmVhc29u IGl0IGhhc24ndCBiZWVuIHJlcGxhY2VkIHdpdGggc3lzX25pX3N5c2NhbGwoKSBldmVyeXdoZXJl CmlzIHRoYXQgZXh0cmEgdHdpc3QgbmVlZGVkIGluIGNhc2Ugb2Ygc3lzY2FsbCAjMC4KCkxldCdz IGtlZXAgaXQgb25seSBmb3Igc3lzY2FsbCAjMCBhbmQgcmVwbGFjZSB0aGUgcmVzdCB3aXRoIHN5 c19uaV9zeXNjYWxsLgpBbmQgdXNlIHN5c19uaV9zeXNjYWxsIGZvciAibnVtYmVyIG91dCByYW5n ZSIgaW4gcHRyYWNlZC1jYWxsIGNhc2UsIGFzCndlJ2QgYmVlbiBkb2luZyBmb3Igbm9ybWFsIGNv ZGVwYXRoIHNpbmNlIDIuMS44Ni4uLgoKU2lnbmVkLW9mZi1ieTogQWwgVmlybyA8dmlyb0B6ZW5p di5saW51eC5vcmcudWs+Ci0tLQpkaWZmIC0tZ2l0IGEvYXJjaC9hbHBoYS9rZXJuZWwvZW50cnku UyBiL2FyY2gvYWxwaGEva2VybmVsL2VudHJ5LlMKaW5kZXggYzY0ODA2YTJkYWY1Li4yMTg0MGU3 MDQyZjMgMTAwNjQ0Ci0tLSBhL2FyY2gvYWxwaGEva2VybmVsL2VudHJ5LlMKKysrIGIvYXJjaC9h bHBoYS9rZXJuZWwvZW50cnkuUwpAQCAtNDczLDcgKzQ3Myw3IEBAIGVudFN5czoKIAlibmUgICAg ICQzLCBzdHJhY2UKIAliZXEJJDQsIDFmCiAJbGRxCSQyNywgMCgkNSkKLTE6CWpzcgkkMjYsICgk MjcpLCBhbHBoYV9uaV9zeXNjYWxsCisxOglqc3IJJDI2LCAoJDI3KSwgc3lzX25pX3N5c2NhbGwK IAlsZGdwCSRncCwgMCgkMjYpCiAJYmx0CSQwLCAkc3lzY2FsbF9lcnJvcgkvKiB0aGUgY2FsbCBm YWlsZWQgKi8KIAlzdHEJJDAsIDAoJHNwKQpAQCAtNTg3LDcgKzU4Nyw3IEBAIHN0cmFjZToKIAkv KiBnZXQgdGhlIHN5c3RlbSBjYWxsIHBvaW50ZXIuLiAqLwogCWxkYQkkMSwgTlJfU1lTQ0FMTFMo JDMxKQogCWxkYQkkMiwgc3lzX2NhbGxfdGFibGUKLQlsZGEJJDI3LCBhbHBoYV9uaV9zeXNjYWxs CisJbGRhCSQyNywgc3lzX25pX3N5c2NhbGwKIAljbXB1bHQJJDAsICQxLCAkMQogCXM4YWRkcQkk MCwgJDIsICQyCiAJYmVxCSQxLCAxZgpAQCAtODQzLDE1ICs4NDMsMjAgQEAgc3lzX3J0X3NpZ3Jl dHVybjoKIC5lbmQgc3lzX3J0X3NpZ3JldHVybgogCiAJLmFsaWduCTQKLQkuZ2xvYmwJYWxwaGFf bmlfc3lzY2FsbAotCS5lbnQJYWxwaGFfbmlfc3lzY2FsbAotYWxwaGFfbmlfc3lzY2FsbDoKKwku Z2xvYmwJYWxwaGFfc3lzY2FsbF96ZXJvCisJLmVudAlhbHBoYV9zeXNjYWxsX3plcm8KK2FscGhh X3N5c2NhbGxfemVybzoKIAkucHJvbG9ndWUgMAotCS8qIFNwZWNpYWwgYmVjYXVzZSBpdCBhbHNv IGltcGxlbWVudHMgb3ZlcmZsb3cgaGFuZGxpbmcgdmlhCi0JICAgc3lzY2FsbCBudW1iZXIgMC4g IEFuZCBpZiB5b3UgcmVjYWxsLCB6ZXJvIGlzIGEgc3BlY2lhbAotCSAgIHRyaWdnZXIgZm9yICJu b3QgYW4gZXJyb3IiLiAgU3RvcmUgbGFyZ2Ugbm9uLXplcm8gdGhlcmUuICAqLworCS8qIFNwZWNp YWwgYmVjYXVzZSBpdCBuZWVkcyB0byBkbyBzb21ldGhpbmcgb3Bwb3NpdGUgdG8KKwkgICBmb3Jj ZV9zdWNjZXNzZnVsX3N5c2NhbGxfcmV0dXJuKCkuICBXZSB1c2UgdGhlIHNhdmVkCisJICAgc3lz Y2FsbCBudW1iZXIgZm9yIHRoYXQsIHplcm8gbWVhbmluZyAibm90IGFuIGVycm9yIi4KKwkgICBU aGF0IHdvcmtzIG5pY2VseSwgYnV0IGZvciByZWFsIHN5c2NhbGwgMCB3ZSBuZWVkIHRvCisJICAg bWFrZSBzdXJlIHRoYXQgdGhpcyBsb2dpY3MgZG9lc24ndCBnZXQgY29uZnVzZWQuCisJICAgU3Rv cmUgYSBub24temVybyB0aGVyZSAtIC1FTk9TWVMgd2UgbmVlZCBpbiByZWdpc3RlcgorCSAgIGZv ciBvdXIgcmV0dXJuIHZhbHVlIHdpbGwgZG8ganVzdCBmaW5lLgorCSAgKi8KIAlsZGEJJDAsIC1F Tk9TWVMKIAl1bm9wCiAJc3RxCSQwLCAwKCRzcCkKIAlyZXQKLS5lbmQgYWxwaGFfbmlfc3lzY2Fs bAorLmVuZCBhbHBoYV9zeXNjYWxsX3plcm8KZGlmZiAtLWdpdCBhL2FyY2gvYWxwaGEva2VybmVs L3N5c3RibHMuUyBiL2FyY2gvYWxwaGEva2VybmVsL3N5c3RibHMuUwppbmRleCAxMzc0ZTU5MTUx MWYuLjViMmU4ZWNiN2NlMyAxMDA2NDQKLS0tIGEvYXJjaC9hbHBoYS9rZXJuZWwvc3lzdGJscy5T CisrKyBiL2FyY2gvYWxwaGEva2VybmVsL3N5c3RibHMuUwpAQCAtMTEsOTMgKzExLDkzIEBACiAJ LmFsaWduIDMKIAkuZ2xvYmwgc3lzX2NhbGxfdGFibGUKIHN5c19jYWxsX3RhYmxlOgotCS5xdWFk IGFscGhhX25pX3N5c2NhbGwJCQkvKiAwICovCisJLnF1YWQgYWxwaGFfc3lzY2FsbF96ZXJvCQkv KiAwICovCiAJLnF1YWQgc3lzX2V4aXQKIAkucXVhZCBhbHBoYV9mb3JrCiAJLnF1YWQgc3lzX3Jl YWQKIAkucXVhZCBzeXNfd3JpdGUKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCQkJLyogNSAqLwor CS5xdWFkIHN5c19uaV9zeXNjYWxsCQkJLyogNSAqLwogCS5xdWFkIHN5c19jbG9zZQogCS5xdWFk IHN5c19vc2Zfd2FpdDQKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5 c2NhbGwKIAkucXVhZCBzeXNfbGluawogCS5xdWFkIHN5c191bmxpbmsJCQkvKiAxMCAqLwotCS5x dWFkIGFscGhhX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAogCS5xdWFkIHN5c19j aGRpcgogCS5xdWFkIHN5c19mY2hkaXIKIAkucXVhZCBzeXNfbWtub2QKIAkucXVhZCBzeXNfY2ht b2QJCQkJLyogMTUgKi8KIAkucXVhZCBzeXNfY2hvd24KIAkucXVhZCBzeXNfb3NmX2JyawotCS5x dWFkIGFscGhhX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAogCS5xdWFkIHN5c19s c2VlawogCS5xdWFkIHN5c19nZXR4cGlkCQkJLyogMjAgKi8KIAkucXVhZCBzeXNfb3NmX21vdW50 CiAJLnF1YWQgc3lzX3Vtb3VudAogCS5xdWFkIHN5c19zZXR1aWQKIAkucXVhZCBzeXNfZ2V0eHVp ZAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwJCQkvKiAyNSAqLworCS5xdWFkIHN5c19uaV9zeXNj YWxsCQkJLyogMjUgKi8KIAkucXVhZCBzeXNfcHRyYWNlCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2Fs bAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCi0JLnF1 YWQgYWxwaGFfbmlfc3lzY2FsbAkJCS8qIDMwICovCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAot CS5xdWFkIGFscGhhX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAorCS5xdWFkIHN5 c19uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2Fs bAkJCS8qIDMwICovCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2Fs bAogCS5xdWFkIHN5c19hY2Nlc3MKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxw aGFfbmlfc3lzY2FsbAkJCS8qIDM1ICovCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBz eXNfbmlfc3lzY2FsbAkJCS8qIDM1ICovCiAJLnF1YWQgc3lzX3N5bmMKIAkucXVhZCBzeXNfa2ls bAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAogCS5xdWFk IHN5c19zZXRwZ2lkCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAkJCS8qIDQwICovCisJLnF1YWQg c3lzX25pX3N5c2NhbGwJCQkvKiA0MCAqLwogCS5xdWFkIHN5c19kdXAKIAkucXVhZCBzeXNfYWxw aGFfcGlwZQogCS5xdWFkIHN5c19vc2Zfc2V0X3Byb2dyYW1fYXR0cmlidXRlcwotCS5xdWFkIGFs cGhhX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAogCS5xdWFkIHN5c19vcGVuCQkJ CS8qIDQ1ICovCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxs CiAJLnF1YWQgc3lzX2dldHhnaWQKIAkucXVhZCBzeXNfb3NmX3NpZ3Byb2NtYXNrCi0JLnF1YWQg YWxwaGFfbmlfc3lzY2FsbAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwJCQkvKiA1MCAqLworCS5x dWFkIHN5c19uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwJCQkvKiA1MCAqLwogCS5x dWFkIHN5c19hY2N0CiAJLnF1YWQgc3lzX3NpZ3BlbmRpbmcKLQkucXVhZCBhbHBoYV9uaV9zeXNj YWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKIAkucXVhZCBzeXNfaW9jdGwKLQkucXVhZCBhbHBo YV9uaV9zeXNjYWxsCQkJLyogNTUgKi8KLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCisJLnF1YWQg c3lzX25pX3N5c2NhbGwJCQkvKiA1NSAqLworCS5xdWFkIHN5c19uaV9zeXNjYWxsCiAJLnF1YWQg c3lzX3N5bWxpbmsKIAkucXVhZCBzeXNfcmVhZGxpbmsKIAkucXVhZCBzeXNfZXhlY3ZlCiAJLnF1 YWQgc3lzX3VtYXNrCQkJCS8qIDYwICovCiAJLnF1YWQgc3lzX2Nocm9vdAotCS5xdWFkIGFscGhh X25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAogCS5xdWFkIHN5c19nZXRwZ3JwCiAJ LnF1YWQgc3lzX2dldHBhZ2VzaXplCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAkJCS8qIDY1ICov CisJLnF1YWQgc3lzX25pX3N5c2NhbGwJCQkvKiA2NSAqLwogCS5xdWFkIGFscGhhX3Zmb3JrCiAJ LnF1YWQgc3lzX25ld3N0YXQKIAkucXVhZCBzeXNfbmV3bHN0YXQKLQkucXVhZCBhbHBoYV9uaV9z eXNjYWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAkJCS8qIDcwICovCisJLnF1YWQgc3lzX25p X3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAkJCS8qIDcwICovCiAJLnF1YWQgc3lzX29z Zl9tbWFwCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxsCiAJ LnF1YWQgc3lzX211bm1hcAogCS5xdWFkIHN5c19tcHJvdGVjdAogCS5xdWFkIHN5c19tYWR2aXNl CQkJLyogNzUgKi8KIAkucXVhZCBzeXNfdmhhbmd1cAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwK LQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBz eXNfbmlfc3lzY2FsbAogCS5xdWFkIHN5c19nZXRncm91cHMKIAkvKiBtYXAgQlNEJ3Mgc2V0cGdy cCB0byBzeXNfc2V0cGdpZCBmb3IgYmluYXJ5IGNvbXBhdGliaWxpdHk6ICovCiAJLnF1YWQgc3lz X3NldGdyb3VwcwkJCS8qIDgwICovCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAorCS5xdWFkIHN5 c19uaV9zeXNjYWxsCiAJLnF1YWQgc3lzX3NldHBnaWQKIAkucXVhZCBzeXNfb3NmX3NldGl0aW1l cgotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCQkJLyog ODUgKi8KKwkucXVhZCBzeXNfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxsCQkJLyog ODUgKi8KIAkucXVhZCBzeXNfb3NmX2dldGl0aW1lcgogCS5xdWFkIHN5c19nZXRob3N0bmFtZQog CS5xdWFkIHN5c19zZXRob3N0bmFtZQpAQCAtMTE5LDE5ICsxMTksMTkgQEAgc3lzX2NhbGxfdGFi bGU6CiAJLnF1YWQgc3lzX2JpbmQKIAkucXVhZCBzeXNfc2V0c29ja29wdAkJCS8qIDEwNSAqLwog CS5xdWFkIHN5c19saXN0ZW4KLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxwaGFf bmlfc3lzY2FsbAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9zeXNj YWxsCQkJLyogMTEwICovCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lz Y2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwJCQkvKiAx MTAgKi8KIAkucXVhZCBzeXNfc2lnc3VzcGVuZAogCS5xdWFkIHN5c19vc2Zfc2lnc3RhY2sKIAku cXVhZCBzeXNfcmVjdm1zZwogCS5xdWFkIHN5c19zZW5kbXNnCi0JLnF1YWQgYWxwaGFfbmlfc3lz Y2FsbAkJCS8qIDExNSAqLworCS5xdWFkIHN5c19uaV9zeXNjYWxsCQkJLyogMTE1ICovCiAJLnF1 YWQgc3lzX29zZl9nZXR0aW1lb2ZkYXkKIAkucXVhZCBzeXNfb3NmX2dldHJ1c2FnZQogCS5xdWFk IHN5c19nZXRzb2Nrb3B0Ci0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9z eXNjYWxsCiAjaWZkZWYgQ09ORklHX09TRjRfQ09NUEFUCiAJLnF1YWQgc3lzX29zZl9yZWFkdgkJ CS8qIDEyMCAqLwogCS5xdWFkIHN5c19vc2Zfd3JpdGV2CkBAIC0xNTYsNjYgKzE1Niw2NiBAQCBz eXNfY2FsbF90YWJsZToKIAkucXVhZCBzeXNfbWtkaXIKIAkucXVhZCBzeXNfcm1kaXIKIAkucXVh ZCBzeXNfb3NmX3V0aW1lcwotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9u aV9zeXNjYWxsCQkJLyogMTQwICovCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBzeXNf bmlfc3lzY2FsbAkJCS8qIDE0MCAqLwogCS5xdWFkIHN5c19nZXRwZWVybmFtZQotCS5xdWFkIGFs cGhhX25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5 c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAogCS5xdWFkIHN5c19nZXRybGltaXQKIAkucXVh ZCBzeXNfc2V0cmxpbWl0CQkJLyogMTQ1ICovCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAorCS5x dWFkIHN5c19uaV9zeXNjYWxsCiAJLnF1YWQgc3lzX3NldHNpZAogCS5xdWFkIHN5c19xdW90YWN0 bAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAogCS5xdWFk IHN5c19nZXRzb2NrbmFtZQkJCS8qIDE1MCAqLwotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKLQku cXVhZCBhbHBoYV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAotCS5xdWFkIGFs cGhhX25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCQkJLyogMTU1ICovCisJLnF1 YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9z eXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAkJCS8q IDE1NSAqLwogCS5xdWFkIHN5c19vc2Zfc2lnYWN0aW9uCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2Fs bAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAorCS5xdWFk IHN5c19uaV9zeXNjYWxsCiAJLnF1YWQgc3lzX29zZl9nZXRkaXJlbnRyaWVzCiAJLnF1YWQgc3lz X29zZl9zdGF0ZnMJCQkvKiAxNjAgKi8KIAkucXVhZCBzeXNfb3NmX2ZzdGF0ZnMKLQkucXVhZCBh bHBoYV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAotCS5xdWFkIGFscGhhX25p X3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxsCisJ LnF1YWQgc3lzX25pX3N5c2NhbGwKIAkucXVhZCBzeXNfb3NmX2dldGRvbWFpbm5hbWUJCS8qIDE2 NSAqLwogCS5xdWFkIHN5c19zZXRkb21haW5uYW1lCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAot CS5xdWFkIGFscGhhX25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCi0JLnF1YWQg YWxwaGFfbmlfc3lzY2FsbAkJCS8qIDE3MCAqLwotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKLQku cXVhZCBhbHBoYV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAotCS5xdWFkIGFs cGhhX25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCQkJLyogMTc1ICovCi0JLnF1 YWQgYWxwaGFfbmlfc3lzY2FsbAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKLQkucXVhZCBhbHBo YV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAotCS5xdWFkIGFscGhhX25pX3N5 c2NhbGwJCQkvKiAxODAgKi8KLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxwaGFf bmlfc3lzY2FsbAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9zeXNj YWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAkJCS8qIDE4NSAqLwotCS5xdWFkIGFscGhhX25p X3N5c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2Fs bAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCQkJLyog MTkwICovCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwK LQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAotCS5xdWFk IGFscGhhX25pX3N5c2NhbGwJCQkvKiAxOTUgKi8KLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCi0J LnF1YWQgYWxwaGFfbmlfc3lzY2FsbAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKKwkucXVhZCBz eXNfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2Nh bGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAkJCS8qIDE3MCAqLworCS5xdWFkIHN5c19uaV9zeXNj YWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAorCS5xdWFk IHN5c19uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwJCQkvKiAxNzUgKi8KKwkucXVh ZCBzeXNfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5 c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxsCQkJLyog MTgwICovCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAorCS5x dWFkIHN5c19uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlf c3lzY2FsbAkJCS8qIDE4NSAqLworCS5xdWFkIHN5c19uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25p X3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxsCisJ LnF1YWQgc3lzX25pX3N5c2NhbGwJCQkvKiAxOTAgKi8KKwkucXVhZCBzeXNfbmlfc3lzY2FsbAor CS5xdWFkIHN5c19uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBzeXNf bmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxsCQkJLyogMTk1ICovCisJLnF1YWQgc3lz X25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxs CiAJLyogVGhlIE9TRiBzd2Fwb24gaGFzIHR3byBleHRyYSBhcmd1bWVudHMsIGJ1dCB3ZSBpZ25v cmUgdGhlbS4gICovCiAJLnF1YWQgc3lzX3N3YXBvbgogCS5xdWFkIHN5c19tc2djdGwJCQkvKiAy MDAgKi8KQEAgLTIzMSw5MyArMjMxLDkzIEBAIHN5c19jYWxsX3RhYmxlOgogCS5xdWFkIHN5c19z aG1jdGwJCQkvKiAyMTAgKi8KIAkucXVhZCBzeXNfc2htZHQKIAkucXVhZCBzeXNfc2htZ2V0Ci0J LnF1YWQgYWxwaGFfbmlfc3lzY2FsbAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKLQkucXVhZCBh bHBoYV9uaV9zeXNjYWxsCQkJLyogMjE1ICovCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAorCS5x dWFkIHN5c19uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlf c3lzY2FsbAkJCS8qIDIxNSAqLworCS5xdWFkIHN5c19uaV9zeXNjYWxsCiAJLnF1YWQgc3lzX21z eW5jCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKLQku cXVhZCBhbHBoYV9uaV9zeXNjYWxsCQkJLyogMjIwICovCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2Fs bAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCisJLnF1 YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9z eXNjYWxsCQkJLyogMjIwICovCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlf c3lzY2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxsCiAJLnF1YWQgc3lzX29zZl9zdGF0CiAJLnF1 YWQgc3lzX29zZl9sc3RhdAkJCS8qIDIyNSAqLwogCS5xdWFkIHN5c19vc2ZfZnN0YXQKIAkucXVh ZCBzeXNfb3NmX3N0YXRmczY0CiAJLnF1YWQgc3lzX29zZl9mc3RhdGZzNjQKLQkucXVhZCBhbHBo YV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAkJCS8qIDIzMCAqLwotCS5xdWFk IGFscGhhX25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25p X3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAkJCS8qIDIzMCAqLworCS5xdWFkIHN5c19u aV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKIAkucXVhZCBzeXNfZ2V0cGdpZAogCS5x dWFkIHN5c19nZXRzaWQKIAkucXVhZCBzeXNfc2lnYWx0c3RhY2sJCQkvKiAyMzUgKi8KLQkucXVh ZCBhbHBoYV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAotCS5xdWFkIGFscGhh X25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lz Y2FsbAkJCS8qIDI0MCAqLworCS5xdWFkIHN5c19uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5 c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxsCisJLnF1 YWQgc3lzX25pX3N5c2NhbGwJCQkvKiAyNDAgKi8KIAkucXVhZCBzeXNfb3NmX3N5c2luZm8KLQku cXVhZCBhbHBoYV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAorCS5xdWFkIHN5 c19uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKIAkucXVhZCBzeXNfb3NmX3Byb3Bs aXN0X3N5c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCQkJLyogMjQ1ICovCi0JLnF1YWQg YWxwaGFfbmlfc3lzY2FsbAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9u aV9zeXNjYWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAotCS5xdWFkIGFscGhhX25pX3N5c2Nh bGwJCQkvKiAyNTAgKi8KKwkucXVhZCBzeXNfbmlfc3lzY2FsbAkJCS8qIDI0NSAqLworCS5xdWFk IHN5c19uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lz Y2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwJCQkvKiAy NTAgKi8KIAkucXVhZCBzeXNfb3NmX3VzbGVlcF90aHJlYWQKLQkucXVhZCBhbHBoYV9uaV9zeXNj YWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxsCisJLnF1 YWQgc3lzX25pX3N5c2NhbGwKIAkucXVhZCBzeXNfc3lzZnMKLQkucXVhZCBhbHBoYV9uaV9zeXNj YWxsCQkJLyogMjU1ICovCisJLnF1YWQgc3lzX25pX3N5c2NhbGwJCQkvKiAyNTUgKi8KIAkucXVh ZCBzeXNfb3NmX2dldHN5c2luZm8KIAkucXVhZCBzeXNfb3NmX3NldHN5c2luZm8KLQkucXVhZCBh bHBoYV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAotCS5xdWFkIGFscGhhX25p X3N5c2NhbGwJCQkvKiAyNjAgKi8KLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxw aGFfbmlfc3lzY2FsbAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9z eXNjYWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAkJCS8qIDI2NSAqLwotCS5xdWFkIGFscGhh X25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lz Y2FsbAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCQkJ LyogMjcwICovCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAotCS5xdWFkIGFscGhhX25pX3N5c2Nh bGwKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAotCS5x dWFkIGFscGhhX25pX3N5c2NhbGwJCQkvKiAyNzUgKi8KLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxs Ci0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKLQkucXVh ZCBhbHBoYV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAkJCS8qIDI4MCAqLwot CS5xdWFkIGFscGhhX25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCi0JLnF1YWQg YWxwaGFfbmlfc3lzY2FsbAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9u aV9zeXNjYWxsCQkJLyogMjg1ICovCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAotCS5xdWFkIGFs cGhhX25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxwaGFfbmlf c3lzY2FsbAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwJCQkvKiAyOTAgKi8KLQkucXVhZCBhbHBo YV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAotCS5xdWFkIGFscGhhX25pX3N5 c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9zeXNjYWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAkJ CS8qIDI5NSAqLwotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKLQkucXVhZCBhbHBoYV9uaV9zeXNj YWxsCi0JLnF1YWQgYWxwaGFfbmlfc3lzY2FsbAotCS5xdWFkIGFscGhhX25pX3N5c2NhbGwKKwku cXVhZCBzeXNfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25p X3N5c2NhbGwJCQkvKiAyNjAgKi8KKwkucXVhZCBzeXNfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19u aV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAor CS5xdWFkIHN5c19uaV9zeXNjYWxsCQkJLyogMjY1ICovCisJLnF1YWQgc3lzX25pX3N5c2NhbGwK KwkucXVhZCBzeXNfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxsCisJLnF1YWQgc3lz X25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAkJCS8qIDI3MCAqLworCS5xdWFkIHN5 c19uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2Fs bAorCS5xdWFkIHN5c19uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwJCQkvKiAyNzUg Ki8KKwkucXVhZCBzeXNfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxsCisJLnF1YWQg c3lzX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9zeXNj YWxsCQkJLyogMjgwICovCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lz Y2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKKwkucXVh ZCBzeXNfbmlfc3lzY2FsbAkJCS8qIDI4NSAqLworCS5xdWFkIHN5c19uaV9zeXNjYWxsCisJLnF1 YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9z eXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwJCQkvKiAyOTAgKi8KKwkucXVhZCBzeXNfbmlf c3lzY2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKKwku cXVhZCBzeXNfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19uaV9zeXNjYWxsCQkJLyogMjk1ICovCisJ LnF1YWQgc3lzX25pX3N5c2NhbGwKKwkucXVhZCBzeXNfbmlfc3lzY2FsbAorCS5xdWFkIHN5c19u aV9zeXNjYWxsCisJLnF1YWQgc3lzX25pX3N5c2NhbGwKIC8qIGxpbnV4LXNwZWNpZmljIHN5c3Rl bSBjYWxscyBzdGFydCBhdCAzMDAgKi8KIAkucXVhZCBzeXNfYmRmbHVzaAkJCS8qIDMwMCAqLwog CS5xdWFkIHN5c19zZXRoYWUKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWTIwMzggbWFpbGluZyBsaXN0ClkyMDM4QGxpc3RzLmxpbmFyby5vcmcKaHR0cHM6 Ly9saXN0cy5saW5hcm8ub3JnL21haWxtYW4vbGlzdGluZm8veTIwMzgK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from zeniv.linux.org.uk ([195.92.253.2]:58480 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726747AbeHKChF (ORCPT ); Fri, 10 Aug 2018 22:37:05 -0400 Date: Sat, 11 Aug 2018 01:04:55 +0100 From: Al Viro Subject: Re: [PATCH 3/6] alpha: Unify the not-implemented system call entry name Message-ID: <20180811000455.GC6515@ZenIV.linux.org.uk> References: <1531736638-15294-1-git-send-email-firoz.khan@linaro.org> <1531736638-15294-4-git-send-email-firoz.khan@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1531736638-15294-4-git-send-email-firoz.khan@linaro.org> Sender: linux-arch-owner@vger.kernel.org List-ID: To: Firoz Khan Cc: linux-alpha@vger.kernel.org, rth@twiddle.net, ink@jurassic.park.msu.ru, mattst88@gmail.com, y2038@lists.linaro.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, arnd@arndb.de, deepa.kernel@gmail.com Message-ID: <20180811000455.X_3oxSkO_MHWZyZxMODkNAuVW5dRrphFQ3NxucdHNW4@z> On Mon, Jul 16, 2018 at 03:53:55PM +0530, Firoz Khan wrote: > systbl.S contain two types of system call entry name which are > alpha_ni_syscall and sys_ni_syscall. So this patch will unify > the not-implemented system call entry name as alpha_ni_syscall. Umm... The thing is, alpha_ni_syscall should really be called alpha_syscall_0. Its use for other not implemented syscalls in OSF syscall numbers range is a historical accident. What that thing does is, in addition usual return -ENOSYS, is the opposite of force_successful_syscall_return(). On alpha the syscall number is passed in r0. So for every real syscall we have non-zero current_pt_regs()->r0 and force_successful_syscall_return() simply assigns 0 to that. Return value goes in the same register; additionally, register #19 (a3) is left 0 on success and 1 on error. Normally it's controlled by the sign of sys_something() return value (left in r0), but for some syscalls we want to be able to tell the userland that the damn thing has succeeded, negative result be damned. The original value of r0 is left in pt_regs; it will be used only in case of syscall restarts, i.e. *not* in "that's no error" case. And it's non-zero on any real syscall, so it serves as a nice available place for storing the "it's not an error" flag. That works nicely, but leaves a bit of a twist in one case: if we tried to issue syscall 0, we want it to return -ENOSYS and we want that to be treated as an error, TYVM. That's where this trick comes to bite - unlike the normal case, we have pt_regs->r0 containing zero, which would trigger the "that's no error" logics. Since -ENOSYS is not a restart-triggering error, we don't need to preserve the original value of pt_regs->r0 in this case either. Solution: alpha_ni_syscall: make current_pt_regs()->r0 non-zero return -ENOSYS That's what the comment in alpha_ni_syscall: .prologue 0 /* Special because it also implements overflow handling via syscall number 0. And if you recall, zero is a special trigger for "not an error". Store large non-zero there. */ lda $0, -ENOSYS unop stq $0, 0($sp) ret is about. Once upon a time it used to have a C part that printed a warning about unimplemented OSF syscalls. That's what it's been doing all over the OSF syscall range, while the native Linux syscall range uses sys_ni_syscall(). With those warnings about unimplemented OSF syscalls gone (circa 2.4), alpha_ni_syscall() has shrunk to that little bit of asm and the only reason it hasn't been replaced with sys_ni_syscall() everywhere is that extra twist needed in case of syscall #0. Let's keep it only for syscall #0 and replace the rest with sys_ni_syscall. And use sys_ni_syscall for "number out range" in ptraced-call case, as we'd been doing for normal codepath since 2.1.86... Signed-off-by: Al Viro --- diff --git a/arch/alpha/kernel/entry.S b/arch/alpha/kernel/entry.S index c64806a2daf5..21840e7042f3 100644 --- a/arch/alpha/kernel/entry.S +++ b/arch/alpha/kernel/entry.S @@ -473,7 +473,7 @@ entSys: bne $3, strace beq $4, 1f ldq $27, 0($5) -1: jsr $26, ($27), alpha_ni_syscall +1: jsr $26, ($27), sys_ni_syscall ldgp $gp, 0($26) blt $0, $syscall_error /* the call failed */ stq $0, 0($sp) @@ -587,7 +587,7 @@ strace: /* get the system call pointer.. */ lda $1, NR_SYSCALLS($31) lda $2, sys_call_table - lda $27, alpha_ni_syscall + lda $27, sys_ni_syscall cmpult $0, $1, $1 s8addq $0, $2, $2 beq $1, 1f @@ -843,15 +843,20 @@ sys_rt_sigreturn: .end sys_rt_sigreturn .align 4 - .globl alpha_ni_syscall - .ent alpha_ni_syscall -alpha_ni_syscall: + .globl alpha_syscall_zero + .ent alpha_syscall_zero +alpha_syscall_zero: .prologue 0 - /* Special because it also implements overflow handling via - syscall number 0. And if you recall, zero is a special - trigger for "not an error". Store large non-zero there. */ + /* Special because it needs to do something opposite to + force_successful_syscall_return(). We use the saved + syscall number for that, zero meaning "not an error". + That works nicely, but for real syscall 0 we need to + make sure that this logics doesn't get confused. + Store a non-zero there - -ENOSYS we need in register + for our return value will do just fine. + */ lda $0, -ENOSYS unop stq $0, 0($sp) ret -.end alpha_ni_syscall +.end alpha_syscall_zero diff --git a/arch/alpha/kernel/systbls.S b/arch/alpha/kernel/systbls.S index 1374e591511f..5b2e8ecb7ce3 100644 --- a/arch/alpha/kernel/systbls.S +++ b/arch/alpha/kernel/systbls.S @@ -11,93 +11,93 @@ .align 3 .globl sys_call_table sys_call_table: - .quad alpha_ni_syscall /* 0 */ + .quad alpha_syscall_zero /* 0 */ .quad sys_exit .quad alpha_fork .quad sys_read .quad sys_write - .quad alpha_ni_syscall /* 5 */ + .quad sys_ni_syscall /* 5 */ .quad sys_close .quad sys_osf_wait4 - .quad alpha_ni_syscall + .quad sys_ni_syscall .quad sys_link .quad sys_unlink /* 10 */ - .quad alpha_ni_syscall + .quad sys_ni_syscall .quad sys_chdir .quad sys_fchdir .quad sys_mknod .quad sys_chmod /* 15 */ .quad sys_chown .quad sys_osf_brk - .quad alpha_ni_syscall + .quad sys_ni_syscall .quad sys_lseek .quad sys_getxpid /* 20 */ .quad sys_osf_mount .quad sys_umount .quad sys_setuid .quad sys_getxuid - .quad alpha_ni_syscall /* 25 */ + .quad sys_ni_syscall /* 25 */ .quad sys_ptrace - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 30 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 30 */ + .quad sys_ni_syscall + .quad sys_ni_syscall .quad sys_access - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 35 */ + .quad sys_ni_syscall + .quad sys_ni_syscall /* 35 */ .quad sys_sync .quad sys_kill - .quad alpha_ni_syscall + .quad sys_ni_syscall .quad sys_setpgid - .quad alpha_ni_syscall /* 40 */ + .quad sys_ni_syscall /* 40 */ .quad sys_dup .quad sys_alpha_pipe .quad sys_osf_set_program_attributes - .quad alpha_ni_syscall + .quad sys_ni_syscall .quad sys_open /* 45 */ - .quad alpha_ni_syscall + .quad sys_ni_syscall .quad sys_getxgid .quad sys_osf_sigprocmask - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 50 */ + .quad sys_ni_syscall + .quad sys_ni_syscall /* 50 */ .quad sys_acct .quad sys_sigpending - .quad alpha_ni_syscall + .quad sys_ni_syscall .quad sys_ioctl - .quad alpha_ni_syscall /* 55 */ - .quad alpha_ni_syscall + .quad sys_ni_syscall /* 55 */ + .quad sys_ni_syscall .quad sys_symlink .quad sys_readlink .quad sys_execve .quad sys_umask /* 60 */ .quad sys_chroot - .quad alpha_ni_syscall + .quad sys_ni_syscall .quad sys_getpgrp .quad sys_getpagesize - .quad alpha_ni_syscall /* 65 */ + .quad sys_ni_syscall /* 65 */ .quad alpha_vfork .quad sys_newstat .quad sys_newlstat - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 70 */ + .quad sys_ni_syscall + .quad sys_ni_syscall /* 70 */ .quad sys_osf_mmap - .quad alpha_ni_syscall + .quad sys_ni_syscall .quad sys_munmap .quad sys_mprotect .quad sys_madvise /* 75 */ .quad sys_vhangup - .quad alpha_ni_syscall - .quad alpha_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall .quad sys_getgroups /* map BSD's setpgrp to sys_setpgid for binary compatibility: */ .quad sys_setgroups /* 80 */ - .quad alpha_ni_syscall + .quad sys_ni_syscall .quad sys_setpgid .quad sys_osf_setitimer - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 85 */ + .quad sys_ni_syscall + .quad sys_ni_syscall /* 85 */ .quad sys_osf_getitimer .quad sys_gethostname .quad sys_sethostname @@ -119,19 +119,19 @@ sys_call_table: .quad sys_bind .quad sys_setsockopt /* 105 */ .quad sys_listen - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 110 */ + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 110 */ .quad sys_sigsuspend .quad sys_osf_sigstack .quad sys_recvmsg .quad sys_sendmsg - .quad alpha_ni_syscall /* 115 */ + .quad sys_ni_syscall /* 115 */ .quad sys_osf_gettimeofday .quad sys_osf_getrusage .quad sys_getsockopt - .quad alpha_ni_syscall + .quad sys_ni_syscall #ifdef CONFIG_OSF4_COMPAT .quad sys_osf_readv /* 120 */ .quad sys_osf_writev @@ -156,66 +156,66 @@ sys_call_table: .quad sys_mkdir .quad sys_rmdir .quad sys_osf_utimes - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 140 */ + .quad sys_ni_syscall + .quad sys_ni_syscall /* 140 */ .quad sys_getpeername - .quad alpha_ni_syscall - .quad alpha_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall .quad sys_getrlimit .quad sys_setrlimit /* 145 */ - .quad alpha_ni_syscall + .quad sys_ni_syscall .quad sys_setsid .quad sys_quotactl - .quad alpha_ni_syscall + .quad sys_ni_syscall .quad sys_getsockname /* 150 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 155 */ + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 155 */ .quad sys_osf_sigaction - .quad alpha_ni_syscall - .quad alpha_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall .quad sys_osf_getdirentries .quad sys_osf_statfs /* 160 */ .quad sys_osf_fstatfs - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall .quad sys_osf_getdomainname /* 165 */ .quad sys_setdomainname - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 170 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 175 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 180 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 185 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 190 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 195 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 170 */ + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 175 */ + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 180 */ + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 185 */ + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 190 */ + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 195 */ + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* The OSF swapon has two extra arguments, but we ignore them. */ .quad sys_swapon .quad sys_msgctl /* 200 */ @@ -231,93 +231,93 @@ sys_call_table: .quad sys_shmctl /* 210 */ .quad sys_shmdt .quad sys_shmget - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 215 */ - .quad alpha_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 215 */ + .quad sys_ni_syscall .quad sys_msync - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 220 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 220 */ + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall .quad sys_osf_stat .quad sys_osf_lstat /* 225 */ .quad sys_osf_fstat .quad sys_osf_statfs64 .quad sys_osf_fstatfs64 - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 230 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 230 */ + .quad sys_ni_syscall + .quad sys_ni_syscall .quad sys_getpgid .quad sys_getsid .quad sys_sigaltstack /* 235 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 240 */ + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 240 */ .quad sys_osf_sysinfo - .quad alpha_ni_syscall - .quad alpha_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall .quad sys_osf_proplist_syscall - .quad alpha_ni_syscall /* 245 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 250 */ + .quad sys_ni_syscall /* 245 */ + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 250 */ .quad sys_osf_usleep_thread - .quad alpha_ni_syscall - .quad alpha_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall .quad sys_sysfs - .quad alpha_ni_syscall /* 255 */ + .quad sys_ni_syscall /* 255 */ .quad sys_osf_getsysinfo .quad sys_osf_setsysinfo - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 260 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 265 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 270 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 275 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 280 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 285 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 290 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 295 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 260 */ + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 265 */ + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 270 */ + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 275 */ + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 280 */ + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 285 */ + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 290 */ + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* 295 */ + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall + .quad sys_ni_syscall /* linux-specific system calls start at 300 */ .quad sys_bdflush /* 300 */ .quad sys_sethae