Skip to content

Commit 460ddd6

Browse files
Alexandra DiupinaMichael Tokarev
Alexandra Diupina
authored and
Michael Tokarev
committed
hw/intc/arm_gicv3_cpuif: Add cast to match the documentation
The result of 1 << regbit with regbit==31 has a 1 in the 32nd bit. When cast to uint64_t (for further bitwise OR), the 32 most significant bits will be filled with 1s. However, the documentation states that the upper 32 bits of ICH_AP[0/1]R<n>_EL2 are reserved. Add an explicit cast to match the documentation. Found by Linux Verification Center (linuxtesting.org) with SVACE. Cc: qemu-stable@nongnu.org Fixes: c3f21b0 ("hw/intc/arm_gicv3_cpuif: Support vLPIs") Signed-off-by: Alexandra Diupina <adiupina@astralinux.ru> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> (cherry picked from commit 3db74af) Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
1 parent 6fecfc5 commit 460ddd6

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

hw/intc/arm_gicv3_cpuif.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -793,7 +793,7 @@ static void icv_activate_vlpi(GICv3CPUState *cs)
793793
int regno = aprbit / 32;
794794
int regbit = aprbit % 32;
795795

796-
cs->ich_apr[cs->hppvlpi.grp][regno] |= (1 << regbit);
796+
cs->ich_apr[cs->hppvlpi.grp][regno] |= (1U << regbit);
797797
gicv3_redist_vlpi_pending(cs, cs->hppvlpi.irq, 0);
798798
}
799799

0 commit comments

Comments
 (0)