All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Weil <sw@weilnetz.de>
To: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org
Cc: qemu-trivial@nongnu.org, qemu-ppc@nongnu.org, patches@linaro.org
Subject: Re: [Qemu-trivial] [Qemu-devel] [PATCH 02/12] hw/intc/apic.c: Use uint32_t for mask word in foreach_apic
Date: Mon, 10 Mar 2014 20:39:45 +0100	[thread overview]
Message-ID: <531E1501.5070608@weilnetz.de> (raw)
In-Reply-To: <1394478649-9453-3-git-send-email-peter.maydell@linaro.org>

Am 10.03.2014 20:10, schrieb Peter Maydell:
> 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 <peter.maydell@linaro.org>
> ---
>  hw/intc/apic.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/intc/apic.c b/hw/intc/apic.c
> index 361ae90..e137882 100644
> --- a/hw/intc/apic.c
> +++ b/hw/intc/apic.c
> @@ -201,12 +201,13 @@ static void apic_external_nmi(APICCommonState *s)
>  
>  #define foreach_apic(apic, deliver_bitmask, code) \
>  {\
> -    int __i, __j, __mask;\
> +    int __i, __j;\
> +    uint32_t __mask;\
>      for(__i = 0; __i < MAX_APIC_WORDS; __i++) {\
>          __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;\
> 


The declaration of __mask could be moved inside the for block and be
combined with the assignment, but that's not strictly necessary.

Reviewed-by: Stefan Weil <sw@weilnetz.de>



WARNING: multiple messages have this Message-ID (diff)
From: Stefan Weil <sw@weilnetz.de>
To: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org
Cc: qemu-trivial@nongnu.org, qemu-ppc@nongnu.org, patches@linaro.org
Subject: Re: [Qemu-devel] [PATCH 02/12] hw/intc/apic.c: Use uint32_t for mask word in foreach_apic
Date: Mon, 10 Mar 2014 20:39:45 +0100	[thread overview]
Message-ID: <531E1501.5070608@weilnetz.de> (raw)
In-Reply-To: <1394478649-9453-3-git-send-email-peter.maydell@linaro.org>

Am 10.03.2014 20:10, schrieb Peter Maydell:
> 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 <peter.maydell@linaro.org>
> ---
>  hw/intc/apic.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/intc/apic.c b/hw/intc/apic.c
> index 361ae90..e137882 100644
> --- a/hw/intc/apic.c
> +++ b/hw/intc/apic.c
> @@ -201,12 +201,13 @@ static void apic_external_nmi(APICCommonState *s)
>  
>  #define foreach_apic(apic, deliver_bitmask, code) \
>  {\
> -    int __i, __j, __mask;\
> +    int __i, __j;\
> +    uint32_t __mask;\
>      for(__i = 0; __i < MAX_APIC_WORDS; __i++) {\
>          __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;\
> 


The declaration of __mask could be moved inside the for block and be
combined with the assignment, but that's not strictly necessary.

Reviewed-by: Stefan Weil <sw@weilnetz.de>

  reply	other threads:[~2014-03-10 19:40 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-10 19:10 [Qemu-trivial] [PATCH 00/12] Avoid shifting left into sign bit Peter Maydell
2014-03-10 19:10 ` [Qemu-devel] " Peter Maydell
2014-03-10 19:10 ` [Qemu-trivial] [PATCH 01/12] target-i386: " Peter Maydell
2014-03-10 19:10   ` [Qemu-devel] " Peter Maydell
2014-03-10 21:57   ` [Qemu-trivial] " Michael S. Tsirkin
2014-03-10 21:57     ` [Qemu-devel] " Michael S. Tsirkin
2014-03-10 19:10 ` [Qemu-trivial] [PATCH 02/12] hw/intc/apic.c: Use uint32_t for mask word in foreach_apic Peter Maydell
2014-03-10 19:10   ` [Qemu-devel] " Peter Maydell
2014-03-10 19:39   ` Stefan Weil [this message]
2014-03-10 19:39     ` Stefan Weil
2014-03-10 21:56   ` [Qemu-trivial] " Michael S. Tsirkin
2014-03-10 21:56     ` [Qemu-devel] " Michael S. Tsirkin
2014-03-10 19:10 ` [Qemu-trivial] [PATCH 03/12] hw/pci/pci_host.c: Avoid shifting left into sign bit Peter Maydell
2014-03-10 19:10   ` [Qemu-devel] " Peter Maydell
2014-03-10 20:03   ` [Qemu-trivial] " Stefan Weil
2014-03-10 20:03     ` Stefan Weil
2014-03-10 21:46     ` [Qemu-trivial] " Michael S. Tsirkin
2014-03-10 21:46       ` Michael S. Tsirkin
2014-03-10 21:58   ` [Qemu-trivial] " Michael S. Tsirkin
2014-03-10 21:58     ` [Qemu-devel] " Michael S. Tsirkin
2014-03-10 19:10 ` [Qemu-trivial] [PATCH 04/12] hw/i386/acpi_build.c: " Peter Maydell
2014-03-10 19:10   ` [Qemu-devel] " Peter Maydell
2014-03-10 21:56   ` [Qemu-trivial] " Michael S. Tsirkin
2014-03-10 21:56     ` [Qemu-devel] " Michael S. Tsirkin
2014-03-10 19:10 ` [Qemu-trivial] [PATCH 05/12] target-mips: " Peter Maydell
2014-03-10 19:10   ` [Qemu-devel] " Peter Maydell
2014-03-10 19:10 ` [Qemu-trivial] [PATCH 06/12] hw/usb/hcd-ohci.c: " Peter Maydell
2014-03-10 19:10   ` [Qemu-devel] " Peter Maydell
2014-03-10 19:10 ` [Qemu-trivial] [PATCH 07/12] hw/intc/openpic: " Peter Maydell
2014-03-10 19:10   ` [Qemu-devel] " Peter Maydell
2014-03-10 19:10 ` [Qemu-trivial] [PATCH 08/12] hw/ppc: " Peter Maydell
2014-03-10 19:10   ` [Qemu-devel] " Peter Maydell
2014-03-10 19:10 ` [Qemu-trivial] [PATCH 09/12] tests/libqos/pci-pc: " Peter Maydell
2014-03-10 19:10   ` [Qemu-devel] " Peter Maydell
2014-03-10 19:10 ` [Qemu-trivial] [PATCH 10/12] hw/intc/slavio_intctl: " Peter Maydell
2014-03-10 19:10   ` [Qemu-devel] " Peter Maydell
2014-03-10 19:10 ` [Qemu-trivial] [PATCH 11/12] hw/intc/xilinx_intc: " Peter Maydell
2014-03-10 19:10   ` [Qemu-devel] " Peter Maydell
2014-03-10 19:10 ` [Qemu-trivial] [PATCH 12/12] hw/pci-host/apb.c: " Peter Maydell
2014-03-10 19:10   ` [Qemu-devel] " Peter Maydell
2014-03-10 21:59   ` [Qemu-trivial] " Michael S. Tsirkin
2014-03-10 21:59     ` [Qemu-devel] " Michael S. Tsirkin
2014-03-14 16:45     ` [Qemu-trivial] " Michael Tokarev
2014-03-14 16:45       ` [Qemu-devel] " Michael Tokarev
2014-03-10 22:00 ` [Qemu-trivial] [PATCH 00/12] " Michael S. Tsirkin
2014-03-10 22:00   ` [Qemu-devel] " Michael S. Tsirkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=531E1501.5070608@weilnetz.de \
    --to=sw@weilnetz.de \
    --cc=patches@linaro.org \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=qemu-trivial@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.