RE: [PATCH] arm64: Explicitly mark 64-bit constant as unsigned long
From: Olof Johansson > Sent: 17 November 2018 01:55 ... > -#if (SCTLR_EL2_SET ^ SCTLR_EL2_CLEAR) != 0x > +#if (SCTLR_EL2_SET ^ SCTLR_EL2_CLEAR) != 0xul > #error "Inconsistent SCTLR_EL2 set/clear bits" > #endif Wouldn't this be clearer if written: #if SCTLR_EL2_SET != ~SCTLR_EL2_CLEAR which then begs the question of why there are separate 'set' and 'clear' masks. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)
Re: [PATCH] arm64: Explicitly mark 64-bit constant as unsigned long
On Fri, Nov 16, 2018 at 6:27 PM Will Deacon wrote: > > Hi Olof, > > On Fri, Nov 16, 2018 at 05:54:56PM -0800, Olof Johansson wrote: > > Makes sparse happy. Before: > > > > arch/arm64/include/asm/sysreg.h:471:42: warning: constant > > 0x is so big it is unsigned long > > arch/arm64/include/asm/sysreg.h:512:42: warning: constant > > 0x is so big it is unsigned long > > > > Signed-off-by: Olof Johansson > > --- > > arch/arm64/include/asm/sysreg.h | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > The warning is bogus imo, but since it's harmless to fix it then we can do > that. However, you've been beaten by: > > http://lists.infradead.org/pipermail/linux-arm-kernel/2018-November/613179.html Yeah, mostly bogus but still useful to silence warnings so you notice new ones. Overlooked the duplicate, happy to ack that one instead. -Olof
Re: [PATCH] arm64: Explicitly mark 64-bit constant as unsigned long
Hi Olof, On Fri, Nov 16, 2018 at 05:54:56PM -0800, Olof Johansson wrote: > Makes sparse happy. Before: > > arch/arm64/include/asm/sysreg.h:471:42: warning: constant 0x > is so big it is unsigned long > arch/arm64/include/asm/sysreg.h:512:42: warning: constant 0x > is so big it is unsigned long > > Signed-off-by: Olof Johansson > --- > arch/arm64/include/asm/sysreg.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) The warning is bogus imo, but since it's harmless to fix it then we can do that. However, you've been beaten by: http://lists.infradead.org/pipermail/linux-arm-kernel/2018-November/613179.html Will
[PATCH] arm64: Explicitly mark 64-bit constant as unsigned long
Makes sparse happy. Before: arch/arm64/include/asm/sysreg.h:471:42: warning: constant 0x is so big it is unsigned long arch/arm64/include/asm/sysreg.h:512:42: warning: constant 0x is so big it is unsigned long Signed-off-by: Olof Johansson --- arch/arm64/include/asm/sysreg.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h index 0c909c4a932ff..981892b67b8f6 100644 --- a/arch/arm64/include/asm/sysreg.h +++ b/arch/arm64/include/asm/sysreg.h @@ -468,7 +468,7 @@ SCTLR_ELx_SA | SCTLR_ELx_I| SCTLR_ELx_WXN | \ SCTLR_ELx_DSSBS | ENDIAN_CLEAR_EL2 | SCTLR_EL2_RES0) -#if (SCTLR_EL2_SET ^ SCTLR_EL2_CLEAR) != 0x +#if (SCTLR_EL2_SET ^ SCTLR_EL2_CLEAR) != 0xul #error "Inconsistent SCTLR_EL2 set/clear bits" #endif @@ -509,7 +509,7 @@ SCTLR_EL1_UMA | SCTLR_ELx_WXN | ENDIAN_CLEAR_EL1 |\ SCTLR_ELx_DSSBS | SCTLR_EL1_NTWI | SCTLR_EL1_RES0) -#if (SCTLR_EL1_SET ^ SCTLR_EL1_CLEAR) != 0x +#if (SCTLR_EL1_SET ^ SCTLR_EL1_CLEAR) != 0xul #error "Inconsistent SCTLR_EL1 set/clear bits" #endif -- 2.11.0