qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/3] Change qemu_set_irq() to return status info


From: Gleb Natapov
Subject: Re: [Qemu-devel] [PATCH 1/3] Change qemu_set_irq() to return status information.
Date: Sun, 29 Jun 2008 18:37:02 +0300

On Sun, Jun 29, 2008 at 03:53:55PM +0100, Paul Brook wrote:
> > >> The return value is less then zero if interrupt is masked, zero if it
> > >> is known that interrupt is lost (due to coalescing) or greater then zero
> > >> if interrupt is delivered or was successfully queued for delivery by
> > >> interrupt controller. Device emulation can use this info as it pleases.
> > >> Included patch adds detection of interrupt coalescing into PIC and APIC
> > >> code for edge triggered interrupts.
> > >
> > > Instead of negative/positive/zero, consider returning an enum for
> > > readability.
> >
> > I thought about that, but I sometimes do arithmetics on those values
> > (when delivering interrupt to multiple CPUs), so result can be more then
> > 1 sometimes.
> 
> At minimum you need to document the meaning of these values. Especially as 
> you've now given two contradictory definitions - "greater than zero" isn't 
> something you can do arithmetic with. If you require -1/0/+1 then you have to 
> say that.
In only place I do arithmetic on those values it is guarantied that the value
is either zero (cpu lost interrupt) or one (cpu received interrupt), so the sum
of those values make sense. If it greater then zero at least one processor will
process an interrupt. I will document the return value in a comment in the
next version of the patch.

--
                        Gleb.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]