Amit Shah wrote:
> [This still doesn't include some fixes to review comments.
> I'm posting this just so that people can use this to test
> or base their work off the latest patch.]
>
> From: Or Sagi <[EMAIL PROTECTED]>
> From: Nir Peleg <[EMAIL PROTECTED]>
> From: Amit Shah <[EMAIL PROTECTED]>
> From: Ben-Ami Yassour <[EMAIL PROTECTED]>
> From: Glauber de Oliveira Costa <[EMAIL PROTECTED]>
>
> With this patch, we can assign a device on the host machine to a
> guest.
>
> A new command-line option, -pcidevice is added.
> For example, to invoke it for a device sitting at PCI bus:dev.fn
> 04:08.0 with host IRQ 18, use this:
>
> -pcidevice host=04:08.0
>
> The host driver for the device, if any, is to be removed before
> assigning the device.
>
> This works only with the in-kernel irqchip method; to use the
> userspace irqchip, a kernel module (irqhook) and some extra changes
> are needed.
>
> Signed-off-by: Amit Shah <[EMAIL PROTECTED]>
> ---
> libkvm/libkvm-x86.c | 14 ++++++++++++++
> libkvm/libkvm.h | 27 +++++++++++++++++++++++++++
> qemu/Makefile.target | 1 +
> qemu/hw/isa.h | 2 ++
> qemu/hw/pc.c | 9 +++++++++
> qemu/hw/pci.c | 12 ++++++++++++
> qemu/hw/pci.h | 1 +
> qemu/hw/piix_pci.c | 19 +++++++++++++++++++
> qemu/qemu-kvm-x86.c | 3 +++
> qemu/vl.c | 18 ++++++++++++++++++
> 10 files changed, 106 insertions(+), 0 deletions(-)
>
> diff --git a/libkvm/libkvm-x86.c b/libkvm/libkvm-x86.c
> index a8cca15..6157f75 100644
> --- a/libkvm/libkvm-x86.c
> +++ b/libkvm/libkvm-x86.c
> @@ -53,6 +53,20 @@ static int kvm_init_tss(kvm_context_t kvm)
> return 0;
> }
>
> +#ifdef KVM_CAP_DEVICE_ASSIGNMENT
> +int kvm_assign_pci_device(kvm_context_t kvm,
> + struct kvm_assigned_pci_dev *assigned_dev)
> +{
> + return ioctl(kvm->vm_fd, KVM_ASSIGN_PCI_DEVICE, assigned_dev);
> +}
> +
> +int kvm_assign_irq(kvm_context_t kvm,
> + struct kvm_assigned_irq *assigned_irq)
> +{
> + return ioctl(kvm->vm_fd, KVM_ASSIGN_IRQ, assigned_irq);
> +}
> +#endif
Could you move this part to libkvm.c? it should be shared by all archs,
I think.
Xiantao
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html