[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 05/11] x86/vioapic: switch to use the EOI callback mechanism
On 30.09.2020 12:41, Roger Pau Monne wrote: > --- a/xen/arch/x86/hvm/vlapic.c > +++ b/xen/arch/x86/hvm/vlapic.c > @@ -189,7 +189,7 @@ void vlapic_set_irq_callback(struct vlapic *vlapic, > uint8_t vec, uint8_t trig, > > if ( hvm_funcs.update_eoi_exit_bitmap ) > alternative_vcall(hvm_funcs.update_eoi_exit_bitmap, target, vec, > - trig || callback); > + callback); There's a shortcoming in the alternative call framework which I see no way to eliminate but which makes it necessary to use !!callback here. Otherwise, if the callback happens to sit on a 256-byte boundary (low address byte zero), you'll pass false when you mean true. (The original use, i.e. prior to patch 3, of just "trig" was sufficiently okay, because the parameter - despite being u8 - is effectively used as a boolean by the callers iirc.) Or perhaps the best thing is to require wrappers for all hooks taking bool parameters, because then the necessary conversion will be done when calling the wrapper. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |