From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 43628C433F5 for ; Thu, 29 Sep 2022 10:47:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234738AbiI2Krt (ORCPT ); Thu, 29 Sep 2022 06:47:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33070 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234299AbiI2Krr (ORCPT ); Thu, 29 Sep 2022 06:47:47 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 2733213F296 for ; Thu, 29 Sep 2022 03:47:46 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 8B81C1A9A; Thu, 29 Sep 2022 03:47:52 -0700 (PDT) Received: from FVFF77S0Q05N (unknown [10.57.81.100]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 679493F73B; Thu, 29 Sep 2022 03:47:44 -0700 (PDT) Date: Thu, 29 Sep 2022 11:47:39 +0100 From: Mark Rutland To: Jon Hunter Cc: linux-arm-kernel@lists.infradead.org, ardb@kernel.org, catalin.marinas@arm.com, james.morse@arm.com, joey.gouly@arm.com, maz@kernel.org, will@kernel.org, "linux-tegra@vger.kernel.org" Subject: Re: [PATCH v2 6/8] arm64: alternatives: have callbacks take a cap Message-ID: References: <20220912162210.3626215-1-mark.rutland@arm.com> <20220912162210.3626215-7-mark.rutland@arm.com> <3cecc3a5-30b0-f0bd-c3de-9e09bd21909b@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org On Thu, Sep 29, 2022 at 10:53:56AM +0100, Jon Hunter wrote: > > On 27/09/2022 10:31, Jon Hunter wrote: > > ... > > > > diff --git a/arch/arm64/include/asm/alternative-macros.h > > > b/arch/arm64/include/asm/alternative-macros.h > > > index 7e157ab6cd505..189c31be163ce 100644 > > > --- a/arch/arm64/include/asm/alternative-macros.h > > > +++ b/arch/arm64/include/asm/alternative-macros.h > > > @@ -2,10 +2,16 @@ > > >   #ifndef __ASM_ALTERNATIVE_MACROS_H > > >   #define __ASM_ALTERNATIVE_MACROS_H > > > +#include > > > + > > >   #include > > >   #include > > > -#define ARM64_CB_PATCH ARM64_NCAPS > > > +#define ARM64_CB_BIT    (UL(1) << 15) > > > + > > > +#if ARM64_NCAPS >= ARM64_CB_BIT > > > +#error "cpucaps have overflown ARM64_CB_BIT" > > > +#endif > > > > > > Some of our builders are failing and bisect is pointing to this commit. > > Looks like they don't like the above and I see the following errors ... > > > >   CC      arch/arm64/kvm/hyp/vhe/debug-sr.o > > /tmp/ccY3kbki.s: Assembler messages: > > /tmp/ccY3kbki.s:1600: Error: found 'L', expected: ')' > > /tmp/ccY3kbki.s:1600: Error: found 'L', expected: ')' > > /tmp/ccY3kbki.s:1600: Error: found 'L', expected: ')' > > /tmp/ccY3kbki.s:1600: Error: found 'L', expected: ')' > > /tmp/ccY3kbki.s:1600: Error: junk at end of line, first unrecognized > > character is `L' > > /tmp/ccY3kbki.s:1723: Error: found 'L', expected: ')' > > /tmp/ccY3kbki.s:1723: Error: found 'L', expected: ')' > > /tmp/ccY3kbki.s:1723: Error: found 'L', expected: ')' > > /tmp/ccY3kbki.s:1723: Error: found 'L', expected: ')' > > /tmp/ccY3kbki.s:1723: Error: junk at end of line, first unrecognized > > character is `L' > > scripts/Makefile.build:249: recipe for target > > 'arch/arm64/kvm/hyp/vhe/debug-sr.o' failed > > > > Seems that it does not like the 'UL' macro for some reason. Any thoughts? > > > FYI, this issue is seen with GCC6 but GCC7 and beyond appear to work fine. Hmm... IIRC there was an issue with some older binutils here not liking the UL suffix, but I thought we'd moved beyond those versions now; can you tell me exactly which binutils version you're using? I currently can't run the kernel.org crosstool GCC 5.5.0 release on my machine since something's going wrong looking for an older version of libisl.so than my system provides; I'll see if I can get that going and test locally. I suspect we can bodge around this with something like the diff below. Thanks, Mark. ---->8---- diff --git a/arch/arm64/include/asm/alternative-macros.h b/arch/arm64/include/asm/alternative-macros.h index 966767debaa3..4dd23bdbfb9e 100644 --- a/arch/arm64/include/asm/alternative-macros.h +++ b/arch/arm64/include/asm/alternative-macros.h @@ -2,12 +2,14 @@ #ifndef __ASM_ALTERNATIVE_MACROS_H #define __ASM_ALTERNATIVE_MACROS_H +#include #include #include #include -#define ARM64_CB_BIT (UL(1) << 15) +#define ARM64_CB_SHIFT 15 +#define ARM64_CB_BIT BIT(ARM64_CB_SHIFT) #if ARM64_NCAPS >= ARM64_CB_BIT #error "cpucaps have overflown ARM64_CB_BIT" @@ -80,7 +82,7 @@ __ALTERNATIVE_CFG(oldinstr, newinstr, feature, IS_ENABLED(cfg)) #define ALTERNATIVE_CB(oldinstr, feature, cb) \ - __ALTERNATIVE_CFG_CB(oldinstr, ARM64_CB_BIT | (feature), 1, cb) + __ALTERNATIVE_CFG_CB(oldinstr, (1 << ARM64_CB_SHIFT) | (feature), 1, cb) #else #include @@ -150,7 +152,7 @@ .macro alternative_cb cap, cb .set .Lasm_alt_mode, 0 .pushsection .altinstructions, "a" - altinstruction_entry 661f, \cb, ARM64_CB_BIT | \cap, 662f-661f, 0 + altinstruction_entry 661f, \cb, (1 << ARM64_CB_SHIFT) | \cap, 662f-661f, 0 .popsection 661: .endm From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 63735C433FE for ; Thu, 29 Sep 2022 10:49:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=G/x7FrZxEIYSPxppKIoQ9X5DWzFkecihiDtuM2GXyVo=; b=SIKJxBMxau6vWo 4oPoIbwm3/OaAz7tvaKfUK9ecCtUF58ab9HBfhrppUNdcE+XuMmRtA7i+X9bMEP5nxJghqC5IawhN h5A2LHK2HCuIW2/8ah6IG/f9Jh4ekITYXsc4pnPo4wew5Nkyt7/MwX+rtkluA6ePm22nDYGtLv1u2 ZAQRpqpXpy3hTVCPOuDZcbx31uxAqqXHCW1+dyJb4INFHabKZxjQl28QU4xmd28Tiwm2N82FPqMxL TzgwxzDfuazDXo53+FkjmswDUNn4gGRbu1FCTIkRGj1/bHXPJVa6Jy0116qQ4UL5OUNlSbPixKAOr +7d5P3mo/RnKH4rXY1cg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1odr59-002V3M-Gp; Thu, 29 Sep 2022 10:47:55 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1odr55-002V1j-11 for linux-arm-kernel@lists.infradead.org; Thu, 29 Sep 2022 10:47:52 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 8B81C1A9A; Thu, 29 Sep 2022 03:47:52 -0700 (PDT) Received: from FVFF77S0Q05N (unknown [10.57.81.100]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 679493F73B; Thu, 29 Sep 2022 03:47:44 -0700 (PDT) Date: Thu, 29 Sep 2022 11:47:39 +0100 From: Mark Rutland To: Jon Hunter Cc: linux-arm-kernel@lists.infradead.org, ardb@kernel.org, catalin.marinas@arm.com, james.morse@arm.com, joey.gouly@arm.com, maz@kernel.org, will@kernel.org, "linux-tegra@vger.kernel.org" Subject: Re: [PATCH v2 6/8] arm64: alternatives: have callbacks take a cap Message-ID: References: <20220912162210.3626215-1-mark.rutland@arm.com> <20220912162210.3626215-7-mark.rutland@arm.com> <3cecc3a5-30b0-f0bd-c3de-9e09bd21909b@nvidia.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220929_034751_182351_431DC264 X-CRM114-Status: GOOD ( 22.67 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCBTZXAgMjksIDIwMjIgYXQgMTA6NTM6NTZBTSArMDEwMCwgSm9uIEh1bnRlciB3cm90 ZToKPiAKPiBPbiAyNy8wOS8yMDIyIDEwOjMxLCBKb24gSHVudGVyIHdyb3RlOgo+IAo+IC4uLgo+ IAo+ID4gPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9hbHRlcm5hdGl2ZS1t YWNyb3MuaAo+ID4gPiBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vYWx0ZXJuYXRpdmUtbWFjcm9z LmgKPiA+ID4gaW5kZXggN2UxNTdhYjZjZDUwNS4uMTg5YzMxYmUxNjNjZSAxMDA2NDQKPiA+ID4g LS0tIGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9hbHRlcm5hdGl2ZS1tYWNyb3MuaAo+ID4gPiAr KysgYi9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2FsdGVybmF0aXZlLW1hY3Jvcy5oCj4gPiA+IEBA IC0yLDEwICsyLDE2IEBACj4gPiA+IMKgICNpZm5kZWYgX19BU01fQUxURVJOQVRJVkVfTUFDUk9T X0gKPiA+ID4gwqAgI2RlZmluZSBfX0FTTV9BTFRFUk5BVElWRV9NQUNST1NfSAo+ID4gPiArI2lu Y2x1ZGUgPGxpbnV4L2NvbnN0Lmg+Cj4gPiA+ICsKPiA+ID4gwqAgI2luY2x1ZGUgPGFzbS9jcHVj YXBzLmg+Cj4gPiA+IMKgICNpbmNsdWRlIDxhc20vaW5zbi1kZWYuaD4KPiA+ID4gLSNkZWZpbmUg QVJNNjRfQ0JfUEFUQ0ggQVJNNjRfTkNBUFMKPiA+ID4gKyNkZWZpbmUgQVJNNjRfQ0JfQklUwqDC oMKgIChVTCgxKSA8PCAxNSkKPiA+ID4gKwo+ID4gPiArI2lmIEFSTTY0X05DQVBTID49IEFSTTY0 X0NCX0JJVAo+ID4gPiArI2Vycm9yICJjcHVjYXBzIGhhdmUgb3ZlcmZsb3duIEFSTTY0X0NCX0JJ VCIKPiA+ID4gKyNlbmRpZgo+ID4gCj4gPiAKPiA+IFNvbWUgb2Ygb3VyIGJ1aWxkZXJzIGFyZSBm YWlsaW5nIGFuZCBiaXNlY3QgaXMgcG9pbnRpbmcgdG8gdGhpcyBjb21taXQuCj4gPiBMb29rcyBs aWtlIHRoZXkgZG9uJ3QgbGlrZSB0aGUgYWJvdmUgYW5kIEkgc2VlIHRoZSBmb2xsb3dpbmcgZXJy b3JzIC4uLgo+ID4gCj4gPiAgwqAgQ0PCoMKgwqDCoMKgIGFyY2gvYXJtNjQva3ZtL2h5cC92aGUv ZGVidWctc3Iubwo+ID4gL3RtcC9jY1kza2JraS5zOiBBc3NlbWJsZXIgbWVzc2FnZXM6Cj4gPiAv dG1wL2NjWTNrYmtpLnM6MTYwMDogRXJyb3I6IGZvdW5kICdMJywgZXhwZWN0ZWQ6ICcpJwo+ID4g L3RtcC9jY1kza2JraS5zOjE2MDA6IEVycm9yOiBmb3VuZCAnTCcsIGV4cGVjdGVkOiAnKScKPiA+ IC90bXAvY2NZM2tia2kuczoxNjAwOiBFcnJvcjogZm91bmQgJ0wnLCBleHBlY3RlZDogJyknCj4g PiAvdG1wL2NjWTNrYmtpLnM6MTYwMDogRXJyb3I6IGZvdW5kICdMJywgZXhwZWN0ZWQ6ICcpJwo+ ID4gL3RtcC9jY1kza2JraS5zOjE2MDA6IEVycm9yOiBqdW5rIGF0IGVuZCBvZiBsaW5lLCBmaXJz dCB1bnJlY29nbml6ZWQKPiA+IGNoYXJhY3RlciBpcyBgTCcKPiA+IC90bXAvY2NZM2tia2kuczox NzIzOiBFcnJvcjogZm91bmQgJ0wnLCBleHBlY3RlZDogJyknCj4gPiAvdG1wL2NjWTNrYmtpLnM6 MTcyMzogRXJyb3I6IGZvdW5kICdMJywgZXhwZWN0ZWQ6ICcpJwo+ID4gL3RtcC9jY1kza2JraS5z OjE3MjM6IEVycm9yOiBmb3VuZCAnTCcsIGV4cGVjdGVkOiAnKScKPiA+IC90bXAvY2NZM2tia2ku czoxNzIzOiBFcnJvcjogZm91bmQgJ0wnLCBleHBlY3RlZDogJyknCj4gPiAvdG1wL2NjWTNrYmtp LnM6MTcyMzogRXJyb3I6IGp1bmsgYXQgZW5kIG9mIGxpbmUsIGZpcnN0IHVucmVjb2duaXplZAo+ ID4gY2hhcmFjdGVyIGlzIGBMJwo+ID4gc2NyaXB0cy9NYWtlZmlsZS5idWlsZDoyNDk6IHJlY2lw ZSBmb3IgdGFyZ2V0Cj4gPiAnYXJjaC9hcm02NC9rdm0vaHlwL3ZoZS9kZWJ1Zy1zci5vJyBmYWls ZWQKPiA+IAo+ID4gU2VlbXMgdGhhdCBpdCBkb2VzIG5vdCBsaWtlIHRoZSAnVUwnIG1hY3JvIGZv ciBzb21lIHJlYXNvbi4gQW55IHRob3VnaHRzPwo+IAo+IAo+IEZZSSwgdGhpcyBpc3N1ZSBpcyBz ZWVuIHdpdGggR0NDNiBidXQgR0NDNyBhbmQgYmV5b25kIGFwcGVhciB0byB3b3JrIGZpbmUuCgpI bW0uLi4gSUlSQyB0aGVyZSB3YXMgYW4gaXNzdWUgd2l0aCBzb21lIG9sZGVyIGJpbnV0aWxzIGhl cmUgbm90IGxpa2luZyB0aGUgVUwKc3VmZml4LCBidXQgSSB0aG91Z2h0IHdlJ2QgbW92ZWQgYmV5 b25kIHRob3NlIHZlcnNpb25zIG5vdzsgY2FuIHlvdSB0ZWxsIG1lCmV4YWN0bHkgd2hpY2ggYmlu dXRpbHMgdmVyc2lvbiB5b3UncmUgdXNpbmc/CgpJIGN1cnJlbnRseSBjYW4ndCBydW4gdGhlIGtl cm5lbC5vcmcgY3Jvc3N0b29sIEdDQyA1LjUuMCByZWxlYXNlIG9uIG15IG1hY2hpbmUKc2luY2Ug c29tZXRoaW5nJ3MgZ29pbmcgd3JvbmcgbG9va2luZyBmb3IgYW4gb2xkZXIgdmVyc2lvbiBvZiBs aWJpc2wuc28gdGhhbiBteQpzeXN0ZW0gcHJvdmlkZXM7IEknbGwgc2VlIGlmIEkgY2FuIGdldCB0 aGF0IGdvaW5nIGFuZCB0ZXN0IGxvY2FsbHkuCgpJIHN1c3BlY3Qgd2UgY2FuIGJvZGdlIGFyb3Vu ZCB0aGlzIHdpdGggc29tZXRoaW5nIGxpa2UgdGhlIGRpZmYgYmVsb3cuCgpUaGFua3MsCk1hcmsu CgotLS0tPjgtLS0tCmRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2FsdGVybmF0 aXZlLW1hY3Jvcy5oIGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9hbHRlcm5hdGl2ZS1tYWNyb3Mu aAppbmRleCA5NjY3NjdkZWJhYTMuLjRkZDIzYmRiZmI5ZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm02 NC9pbmNsdWRlL2FzbS9hbHRlcm5hdGl2ZS1tYWNyb3MuaAorKysgYi9hcmNoL2FybTY0L2luY2x1 ZGUvYXNtL2FsdGVybmF0aXZlLW1hY3Jvcy5oCkBAIC0yLDEyICsyLDE0IEBACiAjaWZuZGVmIF9f QVNNX0FMVEVSTkFUSVZFX01BQ1JPU19ICiAjZGVmaW5lIF9fQVNNX0FMVEVSTkFUSVZFX01BQ1JP U19ICiAKKyNpbmNsdWRlIDxsaW51eC9iaXRzLmg+CiAjaW5jbHVkZSA8bGludXgvY29uc3QuaD4K IAogI2luY2x1ZGUgPGFzbS9jcHVjYXBzLmg+CiAjaW5jbHVkZSA8YXNtL2luc24tZGVmLmg+CiAK LSNkZWZpbmUgQVJNNjRfQ0JfQklUCShVTCgxKSA8PCAxNSkKKyNkZWZpbmUgQVJNNjRfQ0JfU0hJ RlQJMTUKKyNkZWZpbmUgQVJNNjRfQ0JfQklUCUJJVChBUk02NF9DQl9TSElGVCkKIAogI2lmIEFS TTY0X05DQVBTID49IEFSTTY0X0NCX0JJVAogI2Vycm9yICJjcHVjYXBzIGhhdmUgb3ZlcmZsb3du IEFSTTY0X0NCX0JJVCIKQEAgLTgwLDcgKzgyLDcgQEAKIAlfX0FMVEVSTkFUSVZFX0NGRyhvbGRp bnN0ciwgbmV3aW5zdHIsIGZlYXR1cmUsIElTX0VOQUJMRUQoY2ZnKSkKIAogI2RlZmluZSBBTFRF Uk5BVElWRV9DQihvbGRpbnN0ciwgZmVhdHVyZSwgY2IpIFwKLQlfX0FMVEVSTkFUSVZFX0NGR19D QihvbGRpbnN0ciwgQVJNNjRfQ0JfQklUIHwgKGZlYXR1cmUpLCAxLCBjYikKKwlfX0FMVEVSTkFU SVZFX0NGR19DQihvbGRpbnN0ciwgKDEgPDwgQVJNNjRfQ0JfU0hJRlQpIHwgKGZlYXR1cmUpLCAx LCBjYikKICNlbHNlCiAKICNpbmNsdWRlIDxhc20vYXNzZW1ibGVyLmg+CkBAIC0xNTAsNyArMTUy LDcgQEAKIC5tYWNybyBhbHRlcm5hdGl2ZV9jYiBjYXAsIGNiCiAJLnNldCAuTGFzbV9hbHRfbW9k ZSwgMAogCS5wdXNoc2VjdGlvbiAuYWx0aW5zdHJ1Y3Rpb25zLCAiYSIKLQlhbHRpbnN0cnVjdGlv bl9lbnRyeSA2NjFmLCBcY2IsIEFSTTY0X0NCX0JJVCB8IFxjYXAsIDY2MmYtNjYxZiwgMAorCWFs dGluc3RydWN0aW9uX2VudHJ5IDY2MWYsIFxjYiwgKDEgPDwgQVJNNjRfQ0JfU0hJRlQpIHwgXGNh cCwgNjYyZi02NjFmLCAwCiAJLnBvcHNlY3Rpb24KIDY2MToKIC5lbmRtCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxp bmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3Rz LmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==