On 31/05/2024 7:42 am, Jan Beulich wrote:
> On 30.05.2024 20:40, Andrew Cooper wrote:
>> Any non-stub implementation of these is going to have to do something here.
> For whatever definition of "something", seeing ...
>
>> --- a/xen/arch/arm/irq.c
>> +++ b/xen/arch/arm/irq.c
>> @@ -31,12 +31,12 @@ struct irq_guest
>> unsigned int virq;
>> };
>>
>> -static void ack_none(struct irq_desc *irq)
>> +void irq_ack_none(struct irq_desc *irq)
>> {
>> printk("unexpected IRQ trap at irq %02x\n", irq->irq);
>> }
> ... this, which - perhaps apart from the word "trap" - is entirely Arm-
> independent, and could hence quite well live in a common code fallback
> implementation.
Not really.
On ARM, ack()+end() are both mandatory and it's end() which is taking
the useful action.
On x86, ack() has the effect and end() is optional (and has a different
prototype even!)
> Nevertheless with patch 2 clearly being an improvement,
> both patches:
> Reviewed-by: Jan Beulich <[email protected]>
Thanks.
~Andrew