[Top][All Lists]

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

Re: [Qemu-devel] QEMU etc/e820 and fw_cfg

From: Gerd Hoffmann
Subject: Re: [Qemu-devel] QEMU etc/e820 and fw_cfg
Date: Thu, 05 Mar 2015 09:08:28 +0100

On Mi, 2015-03-04 at 19:12 +0000, Gordan Bobic wrote:
> On 2015-03-04 13:20, Gerd Hoffmann wrote:
> > On Di, 2015-03-03 at 10:32 +0000, Gordan Bobic wrote:
> >> I need to pass a custom e820 map to a virtual machine for
> >> troubleshooting purposes and working around IOMMU hardware
> >> bugs.
> >> 
> >> I have found references to a custom map being providable
> >> via an external file, mentioned as "etc/e820" and "fw_cfg".
> > 
> > That is the (filesystem-like) interface between qemu and firmware
> > (seabios usually), it doesn't refer to a on-disk file.
> > 
> >> Unfortunately, I have not found any documentation that
> >> explains how to use this from userspace when invoking
> >> qemu.
> > 
> > You can't.
> > 
> > Passing a different e820 map requires patching qemu (or seabios, which
> > mangles the e820 table to add reservations for acpi etc).
> > 
> > What exactly do you need?
> Thank you for responding. The situation I have is that my PCIe
> bridges are buggy and they seem to bypass the upstream PCIe hub
> IOMMU. The problem with this is that when the guest accesses
> RAM within it's emulated address space that overlaps with
> PCI I/O memory ranges in the host's address space, what should
> have ended up in RAM in the guest ends up trampling over the
> IOMEM on the host.

The iommu isn't involved here at all.  When the pci devices are
accessing host ram via busmaster dma, *this* goes through the iommu.
And unless you are trying to use pci device assignment the iommu should
not matter at all.

What you describe sounds more like a bug in ept/ntp/softmmu (either
kernel driver or hardware).  What machine is this?  Intel?  Has it ept?
What happens if you turn off ept?

I'd also suggest to go to the kvm list with this issue.


reply via email to

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