Peter Crosthwaite wrote:
On Wed, Nov 27, 2013 at 1:36 PM, Li Guang<lig.f...@cn.fujitsu.com>  wrote:
Li Guang wrote:
Peter Crosthwaite wrote:
On Tue, Nov 26, 2013 at 5:22 PM, liguang<lig.f...@cn.fujitsu.com>   wrote:
Signed-off-by: liguang<lig.f...@cn.fujitsu.com>
---
   default-configs/arm-softmmu.mak |    1 +
   hw/intc/Makefile.objs           |    1 +
   hw/intc/sunxi-pic.c             |  238
+++++++++++++++++++++++++++++++++++++++
   include/hw/intc/sunxi-pic.h     |   20 ++++
+
+static void sunxi_pic_set_irq(void *opaque, int irq, int level)
+{
+    SunxiPICState *s = opaque;
+
+    if (level) {
+        set_bit(irq, (void *)&s->irq_pending[irq/32]);
set_bit(irq % 32, ...)

OK

No, it is wrong,
irq/32 is right.

The irq/32 is right I agree. This issue is the first arugment.
Shouln't the whole thing be:

set_bit(irq%32, (void *)&s->irq_pending[irq/32]);



OK, fix like this

diff --git a/hw/intc/sunxi-pic.c b/hw/intc/sunxi-pic.c
index 5fd86f9..ea75f84 100644
--- a/hw/intc/sunxi-pic.c
+++ b/hw/intc/sunxi-pic.c
@@ -77,7 +77,7 @@ static void sunxi_pic_set_irq(void *opaque, int irq, int level)
     SunxiPICState *s = opaque;

     if (level) {
-        set_bit(irq, (void *)&s->irq_pending[irq/32]);
+        set_bit(irq%32, (void *)&s->irq_pending[irq/32]);
     }
     sunxi_pic_update(s);

thanks!
Li Guang





Reply via email to