On 10/17/2011 11:27 AM, Jan Kiszka wrote:
> So far we deliver MSI messages by writing them into the target MMIO
> area. This reflects what happens on hardware, but imposes some
> limitations on the emulation when introducing KVM in-kernel irqchip
> models. For those we will need to track the message origin.

Why do we need to track the message origin?  Emulated interrupt remapping?

>  Moreover,
> different architecture or accelerators may want to overload the delivery
> handler.
>
> Therefore, this commit introduces a delivery hook that is called by the
> MSI/MSI-X layer when devices send normal messages, but also on spurious
> deliveries that ended up on the APIC MMIO handler. Our default delivery
> handler for APIC-based PCs then dispatches between real MSIs and other
> DMA requests that happened to take the MSI patch.

'path'

>  
> -static void apic_send_msi(target_phys_addr_t addr, uint32_t data)
> +void apic_deliver_msi(MSIMessage *msg)

In general, it is better these days to pass small structures by value.


Not sure what the gain is from intercepting the msi just before the
stl_phys() vs. in the apic handler.

-- 
error compiling committee.c: too many arguments to function


Reply via email to