qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [V9 0/4] AMD IOMMU


From: Valentine Sinitsyn
Subject: Re: [Qemu-devel] [V9 0/4] AMD IOMMU
Date: Wed, 4 May 2016 15:58:00 +0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0

On 04.05.2016 15:51, David Kiarie wrote:
On Wed, May 4, 2016 at 10:39 AM, Valentine Sinitsyn
<address@hidden> wrote:
Hi everyone,

On 04.05.2016 12:05, David Kiarie wrote:

On Wed, May 4, 2016 at 9:12 AM, Jan Kiszka <address@hidden> wrote:

On 2016-04-30 00:42, 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.
I have also tested and successfully passed-through PCI device 'ac97'
with more devices to be tested.


I've done some basic testing with a Jailhouse setup and found it
working. The ACPI table is now properly parsed and the DMA remapping was
not disturbing the system after Jailhouse was activated.

However, it was also still not intervening after I started to corrupt
the configuration, removed DMA target properties from most of the RAM or
dropped PCI devices.

Please also remember that unlisted devices go without translation. To "mute"
the device, set V, TV, the DomainId, and zero everything else in the DTE.


This means you're invalidating DTEs ?


You are not dropping invalid remapping requests, are you? According to
the logs, you are detecting them at least:

(amd-iommu)amd_iommu_get_dte: Device Table at 0x3b0d4000
(amd-iommu)amd_iommu_get_dte: Pte entry at 0x0 is invalid
(amd-iommu)amd_iommu_translate: devid: 00:02.0 gpa 0x32f39480 hpa
0x32f39000

It's a bit hard to test right now if remapping is actually properly
working in all important cases if you do not reject invalid ones.

My understanding is that you should generate an IO_PAGE_FAULT event and drop
the request. This doesn't apply to ATS, which is a bit trickier, but we
don't address ATS in this patch series anyway, do we?

My next question is what you mean by 'reject' and 'drop'. In I
encounter an invalid PTE/DTE I don't translate the gpa, it just become
the hpa which is what is happening above.
What happens if you just ignore the request? I mean, what if you don't forward it to anywhere else in QEMU, just log this event and return?

Valentine



Valentine



reply via email to

[Prev in Thread] Current Thread [Next in Thread]