[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [V9 0/4] AMD IOMMU
From: |
David Kiarie |
Subject: |
Re: [Qemu-devel] [V9 0/4] AMD IOMMU |
Date: |
Mon, 2 May 2016 11:33:05 +0300 |
On Sun, May 1, 2016 at 5:00 PM, Michael S. Tsirkin <address@hidden> wrote:
> On Sun, May 01, 2016 at 04:47:44PM +0300, Michael S. Tsirkin wrote:
>> On Sat, Apr 30, 2016 at 01:42:39AM +0300, David Kiarie wrote:
>> > These series adds AMD IOMMU support to Qemu. It's currently in the 9th
>> > version.
>> >
>> > In this series I have (hopefully) addressed all the comments made in the
>> > previous version.
>>
>> changelog?
>>
>> > I have also tested and successfully passed-through PCI device 'ac97' with
>> > more devices to be tested.
>>
>>
>> A fundamental problem with AMD IOMMUs is that the VMM must write-protect
>> guest I/O page tables from the guest in order to intercept all guest
>> updates and propagate the updates to the shadow I/O page tables.
>>
>> AMD manual says as much.
>
> Actually while it says so, it's wrong.
> There's an NPcache flag which makes guest to invalidations
> for invalid to valid transitions.
>
>> Until this is implemented, I think device assignment must be disabled
>> when AMD IOMMU is in use.
>
> So I take this back. I would, however, like to see how this
> interacts with Aviv's patches enabling VFIO support for IOMMU.
>
The initial consensus was to deny VFIO when user requests for IOMMU
and I did actually look at that but I can't get an obvious way to
disable, or even tell that a user requested for a device when they do
so via '-device'. The only way to disable VFIO was parsing the command
line argument which seemed very ugly.
Other than that, I would prefer not to add more features to this
patchset but I will still be working on IOMMU for the next few months
so I'll probably look at that.
>>
>> >
>> > David Kiarie (4):
>> > hw/i386: Introduce AMD IOMMU
>> > hw/i386: ACPI table for AMD IOMMU
>> > hw/core: Add AMD IOMMU to machine properties
>> > hw/pci-host: Emulate AMD IOMMU
>> >
>> > hw/acpi/aml-build.c | 2 +-
>> > hw/acpi/core.c | 13 -
>> > hw/core/machine.c | 33 +-
>> > hw/i386/Makefile.objs | 1 +
>> > hw/i386/acpi-build.c | 93 ++-
>> > hw/i386/amd_iommu.c | 1426
>> > +++++++++++++++++++++++++++++++++++++++++
>> > hw/i386/amd_iommu.h | 398 ++++++++++++
>> > hw/pci-host/q35.c | 25 +-
>> > include/hw/acpi/acpi-defs.h | 14 +
>> > include/hw/acpi/acpi.h | 16 +
>> > include/hw/acpi/aml-build.h | 1 +
>> > include/hw/boards.h | 7 +
>> > include/hw/i386/intel_iommu.h | 1 +
>> > include/hw/pci/pci.h | 2 +
>> > qemu-options.hx | 7 +-
>> > util/qemu-config.c | 8 +-
>> > 16 files changed, 2012 insertions(+), 35 deletions(-)
>> > create mode 100644 hw/i386/amd_iommu.c
>> > create mode 100644 hw/i386/amd_iommu.h
>> >
>> > --
>> > 2.1.4
- Re: [Qemu-devel] [V9 0/4] AMD IOMMU, Michael S. Tsirkin, 2016/05/01
- Re: [Qemu-devel] [V9 0/4] AMD IOMMU, Jan Kiszka, 2016/05/04
- Re: [Qemu-devel] [V9 0/4] AMD IOMMU, David Kiarie, 2016/05/04
- Re: [Qemu-devel] [V9 0/4] AMD IOMMU, Jan Kiszka, 2016/05/04
- Re: [Qemu-devel] [V9 0/4] AMD IOMMU, Valentine Sinitsyn, 2016/05/04
- Re: [Qemu-devel] [V9 0/4] AMD IOMMU, David Kiarie, 2016/05/04
- Re: [Qemu-devel] [V9 0/4] AMD IOMMU, Valentine Sinitsyn, 2016/05/04
- Re: [Qemu-devel] [V9 0/4] AMD IOMMU, David Kiarie, 2016/05/04
- Re: [Qemu-devel] [V9 0/4] AMD IOMMU, Valentine Sinitsyn, 2016/05/04
- Re: [Qemu-devel] [V9 0/4] AMD IOMMU, David Kiarie, 2016/05/05