[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 02/12] hw/intc/apic.c: Use uint32_t for mask word
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PATCH v2 02/12] hw/intc/apic.c: Use uint32_t for mask word in foreach_apic |
Date: |
Mon, 17 Mar 2014 16:00:31 +0000 |
Use unsigned arithmetic for operations on the mask word
in the foreach_apic() macro, to avoid relying on undefined
behaviour when shifting into the sign bit.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Stefan Weil <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
---
I took Stefan Weil's suggestion and merged the __mask
declaration into the assignment inside the loop.
---
hw/intc/apic.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/intc/apic.c b/hw/intc/apic.c
index 361ae90..b8c061b 100644
--- a/hw/intc/apic.c
+++ b/hw/intc/apic.c
@@ -201,12 +201,12 @@ static void apic_external_nmi(APICCommonState *s)
#define foreach_apic(apic, deliver_bitmask, code) \
{\
- int __i, __j, __mask;\
+ int __i, __j;\
for(__i = 0; __i < MAX_APIC_WORDS; __i++) {\
- __mask = deliver_bitmask[__i];\
+ uint32_t __mask = deliver_bitmask[__i];\
if (__mask) {\
for(__j = 0; __j < 32; __j++) {\
- if (__mask & (1 << __j)) {\
+ if (__mask & (1U << __j)) {\
apic = local_apics[__i * 32 + __j];\
if (apic) {\
code;\
--
1.9.0
- [Qemu-devel] [PATCH v2 00/12] Avoid shifting left into sign bit, Peter Maydell, 2014/03/17
- [Qemu-devel] [PATCH v2 11/12] hw/intc/xilinx_intc: Avoid shifting left into sign bit, Peter Maydell, 2014/03/17
- [Qemu-devel] [PATCH v2 10/12] hw/intc/slavio_intctl: Avoid shifting left into sign bit, Peter Maydell, 2014/03/17
- [Qemu-devel] [PATCH v2 08/12] hw/ppc: Avoid shifting left into sign bit, Peter Maydell, 2014/03/17
- [Qemu-devel] [PATCH v2 03/12] hw/pci/pci_host.c: Avoid shifting left into sign bit, Peter Maydell, 2014/03/17
- [Qemu-devel] [PATCH v2 12/12] hw/pci-host/apb.c: Avoid shifting left into sign bit, Peter Maydell, 2014/03/17
- [Qemu-devel] [PATCH v2 02/12] hw/intc/apic.c: Use uint32_t for mask word in foreach_apic,
Peter Maydell <=
- [Qemu-devel] [PATCH v2 09/12] tests/libqos/pci-pc: Avoid shifting left into sign bit, Peter Maydell, 2014/03/17
- [Qemu-devel] [PATCH v2 07/12] hw/intc/openpic: Avoid shifting left into sign bit, Peter Maydell, 2014/03/17
- [Qemu-devel] [PATCH v2 06/12] hw/usb/hcd-ohci.c: Avoid shifting left into sign bit, Peter Maydell, 2014/03/17
- [Qemu-devel] [PATCH v2 01/12] target-i386: Avoid shifting left into sign bit, Peter Maydell, 2014/03/17
- [Qemu-devel] [PATCH v2 05/12] target-mips: Avoid shifting left into sign bit, Peter Maydell, 2014/03/17
- [Qemu-devel] [PATCH v2 04/12] hw/i386/acpi_build.c: Avoid shifting left into sign bit, Peter Maydell, 2014/03/17
- Re: [Qemu-devel] [Qemu-trivial] [PATCH v2 00/12] Avoid shifting left into sign bit, Michael Tokarev, 2014/03/20