On 2012-06-10 19:02, Alex Williamson wrote:
> msix_init has very little configurability as to how it lays out
> MSI/X for a device.  It claims to resize BARs, but doesn't
> actually do this anymore.  This patch allows MSI/X to be fully
> specified, which is necessary both for emulated devices trying
> to match the physical layout of a hardware device as well as for
> any kind of device assignment.
> 
> The original intent of msix_init seems to have been to allow
> completely virtual devices so enable MSI/X without knowing
> anything about it.  A sort of "here's a BAR and a device, add
> MSI/X to it".  We've already dropped the resize support with
> the memory API, and I think it makes sense to tune the interface
> to something that still makes it easy for virtual devices to use,
> but allows the full specification for realistically creating
> emulated devices using MSI/X.
> 
> Signed-off-by: Alex Williamson <alex.william...@redhat.com>
> ---
> 
> This needs more testing, but I wanted to send it out in case someone
> else is working on something similar.  In order to not modify the
> generic capability adding code VFIO needs to tell qemu about ever
> capability for a device.  The main roadblock to doing that is that
> msix_init does not provide sufficient specification of the MSI/X area
> to match a physical device.  This solves that.

Reminds me that you asked for my version:

http://git.kiszka.org/?p=qemu.git;a=shortlog;h=refs/heads/queues/msi

specifically the top two commits. WIP, just picked the old commits,
result untested.

Still need to look into your version.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to