x86 IOMMU support added a lot of assumptions about what PCI buses look
like and where to find bridge devices. On ia64, we don't yet have
virtualization friendly IOMMUs, so for the moment, we just want to
keep "unsafe" PV PCI pass through working as well as it did in Xen
3.2. Looking at the code, it almost seems like x86 has thrown out
support for the old style driver domain. Things that don't
necessarily work on every PCI compliant architecture:
* You can't assume that just because there's a device at 01:01.0
that there's also a bridge at 01:00.0 and blow-up when you
don't find it. On HP ia64 boxes, PCI root bridges are not
necessarily exposed as a PCI device. This pretty much means
we can't call into any of the "FLR" code paths.
* BAR alignment: it's hard to have BAR alignment when your page
size is 16k. This wasn't a requirement for previous PV driver
domains, so I assume it's only for IOMMU support.
This is ugly, so I'm open to suggestions. It seems that all of these
architecture checks could be replaced by checking some "iommu_present"
variable to test whether the extra requirements are necessary.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
There is a small bug on the serial emulation code that prevents kgdb
from working correctly over the serial.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
We can decide to make off_t 64bit instead of implementing the LFS
tricks. Name corresponding functions foo64 to permit simple caml
programs linking.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Make the 'iommu' boot parameter take a comma separated value
indicating whether iommu is required to boot and whether to enable
iommu for pv domains.
Signed-off-by: Espen Skoglund <espen.skoglund@netronome.com>
Add "iommu=1" option in grub, due to VT-d is not enabled by default.
In addition, describes how to enable MSI/MSI-x for assigned devices.
Signed-off-by: Weidong Han <weidong.han@intel.com>
Currently we are trying to read the same value twice in the
serial_load function, this patch fixes that.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
This patch exposes the persistent (aka managed) domain path in xend
configuration file. This option is already supported in XendOptions
but is not annotated in the configuration file.
Signed-off-by: Jim Fehlig <jfehlig@novell.com>
For security reasons, add 'force_iommu' option to ensure that it
should not be possible under any conditions to boot Xen w/o VT-d being
enabled. This would only be specified by users that really want the
added security.
Signed-off-by: Weidong Han <weidong.han@intel.com>
- Flush iotlb in iommu_page_mapping() after page mapping
- Change BUG_ON() to ASSERT() in iommu_flush_iotlb_psi()
- Add iommu_flush_write_buffer() if iommu_flush_iotlb_psi() fails in
dma_pte_clear_one()
- Change panic() message to easily know where panic happens
Signed-off-by: Weidong Han <weidong.han@intel.com>
memory sizes greater than 2GB when built as a 32-bit binary.
Instead, direct HVM Linux loading approximates end of low memory via a
different method.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Latest QEMU would add a NIC device by default, unless specify the
"-nic none". So end user still get a unusable NIC even no vif in the
config file.
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
This patch will collect memory location (the domain has how many pages
in different node) of each domain and display if you input debug key.
Signed-off-by: Zhou Ting <ting.g.zhou@intel.com>
While building stubdom, I saw an error.
install: cannot stat `lib/{config,header,pci,types}.h': No such file
or directory
It seems brace expansion is not available in some environments, so we
had better avoid using it.
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>