Module Name: src Committed By: jmcneill Date: Mon Apr 13 12:14:56 UTC 2020
Modified Files: src/sys/arch/arm/cortex: gicv3.c Log Message: Apply similar fix from gic.c that fixed "left shift of 255 by 24 places cannot be represented in type 'int'" warnings from UBSan. To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/sys/arch/arm/cortex/gicv3.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/arm/cortex/gicv3.c diff -u src/sys/arch/arm/cortex/gicv3.c:1.24 src/sys/arch/arm/cortex/gicv3.c:1.25 --- src/sys/arch/arm/cortex/gicv3.c:1.24 Thu Feb 13 02:12:06 2020 +++ src/sys/arch/arm/cortex/gicv3.c Mon Apr 13 12:14:55 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: gicv3.c,v 1.24 2020/02/13 02:12:06 jmcneill Exp $ */ +/* $NetBSD: gicv3.c,v 1.25 2020/04/13 12:14:55 jmcneill Exp $ */ /*- * Copyright (c) 2018 Jared McNeill <jmcne...@invisible.ca> @@ -31,7 +31,7 @@ #define _INTR_PRIVATE #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: gicv3.c,v 1.24 2020/02/13 02:12:06 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: gicv3.c,v 1.25 2020/04/13 12:14:55 jmcneill Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -178,7 +178,7 @@ gicv3_establish_irq(struct pic_softc *pi gicr_write_4(sc, n, GICR_ICFGRn(is->is_irq / 16), icfg); ipriority = gicr_read_4(sc, n, GICR_IPRIORITYRn(is->is_irq / 4)); - ipriority &= ~(0xff << ipriority_shift); + ipriority &= ~(0xffU << ipriority_shift); ipriority |= (ipriority_val << ipriority_shift); gicr_write_4(sc, n, GICR_IPRIORITYRn(is->is_irq / 4), ipriority); } @@ -202,7 +202,7 @@ gicv3_establish_irq(struct pic_softc *pi /* Update interrupt priority */ ipriority = gicd_read_4(sc, GICD_IPRIORITYRn(is->is_irq / 4)); - ipriority &= ~(0xff << ipriority_shift); + ipriority &= ~(0xffU << ipriority_shift); ipriority |= (ipriority_val << ipriority_shift); gicd_write_4(sc, GICD_IPRIORITYRn(is->is_irq / 4), ipriority); } @@ -277,7 +277,7 @@ gicv3_redist_enable(struct gicv3_softc * for (o = 0; o < 4; o++, byte_shift += 8) { struct intrsource * const is = sc->sc_pic.pic_sources[n + o]; if (is == NULL) - priority |= 0xff << byte_shift; + priority |= (0xffU << byte_shift); else { const u_int ipriority_val = IPL_TO_PRIORITY(sc, is->is_ipl); priority |= ipriority_val << byte_shift;