All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcel Apfelbaum <marcel@redhat.com>
To: Stefan Weil <sw@weilnetz.de>, qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, armbru@redhat.com, mst@redhat.com
Subject: Re: [Qemu-devel] [PATCH] pci: fix compilation warnings
Date: Mon, 28 Mar 2016 12:53:17 +0300	[thread overview]
Message-ID: <56F8FF0D.5030503@redhat.com> (raw)
In-Reply-To: <56F8EE96.2090709@weilnetz.de>

On 03/28/2016 11:43 AM, Stefan Weil wrote:
> Am 28.03.2016 um 09:23 schrieb Marcel Apfelbaum:
>> Fix 'error: shift exponent -1 is negative' warning
>> by adding a corresponding assert.
>>
>> Reported-by: Peter Maydell <peter.maydell@linaro.org>
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> Signed-off-by: Marcel Apfelbaum <marcel@redhat.com>
>> ---
>>   hw/pci/pci.c | 4 ++++
>>   1 file changed, 4 insertions(+)
>>
>> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
>> index e67664d..a1d41aa 100644
>> --- a/hw/pci/pci.c
>> +++ b/hw/pci/pci.c
>> @@ -163,11 +163,15 @@ int pci_bar(PCIDevice *d, int reg)
>>
>>   static inline int pci_irq_state(PCIDevice *d, int irq_num)
>>   {
>> +    assert(irq_num >= 0);
>> +
>>   	return (d->irq_state >> irq_num) & 0x1;
>>   }
>>
>>   static inline void pci_set_irq_state(PCIDevice *d, int irq_num, int level)
>>   {
>> +    assert(irq_num >= 0);
>> +
>>   	d->irq_state &= ~(0x1 << irq_num);
>>   	d->irq_state |= level << irq_num;
>>   }
>
> Do we use negative values for irq_num anywhere?

Hi Stefan,

I didn't see any irq_nu assignments to a negative value but there are
some cases where it can be negative due to arithmetical operations like:

    hw/pci-host/bonito.c:651:    int internal_irq = irq_num - BONITO_IRQ_BASE;

On other cases we look for negative value:

    hw/ppc/ppc4xx_devs.c:171:    if (irq_num < 0 || irq_num > 3)
or
    hw/ppc/ppc4xx_pci.c:263:    if (irq_num < 0)


> If not, using an unsigned irq_num might be a better solution.

All of the above are manageable, of course, but we are close to
hard freeze (tomorrow) and the scope of this patch is much smaller (fix a compilation warning)

I think is definitely worth looking into it, but maybe as part of QEMU 2.7.

Thanks,
Marcel
>
> Stefan
>

  reply	other threads:[~2016-03-28  9:53 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-28  7:23 [Qemu-devel] [PATCH] pci: fix compilation warnings Marcel Apfelbaum
2016-03-28  8:43 ` Stefan Weil
2016-03-28  9:53   ` Marcel Apfelbaum [this message]
2016-04-10  8:28 ` Marcel Apfelbaum

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=56F8FF0D.5030503@redhat.com \
    --to=marcel@redhat.com \
    --cc=armbru@redhat.com \
    --cc=mst@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=sw@weilnetz.de \
    /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.