[IA64] Fix some IPF Xen VT-d bugs.
authorIsaku Yamahata <yamahata@valinux.co.jp>
Tue, 6 Jan 2009 09:05:32 +0000 (18:05 +0900)
committerIsaku Yamahata <yamahata@valinux.co.jp>
Tue, 6 Jan 2009 09:05:32 +0000 (18:05 +0900)
commited848f202aa25510597e82c25ec2f44d69c4cd1c
treee0855da0492129b967d68c1ffa6ed2f0eaba228f
parent7fa5f162da939ccd8d5ef838dc14b68b70b86c51
[IA64] Fix some IPF Xen VT-d bugs.

In arch_domain_create(): when xen creates Dom0, need_iommu(d) is false,
so iommu_domain_init() is not invoked, as a result, eventually iommu is
not enabled properly.
Note: d->need_iommu is set to 1 only by assign_device() which is never
called for dom0. And it is called via XEN_DOMCTL_assign_device hypercall.

In IA64 Xen, physdev_map_pirq()/physdev_unmap_pirq() are kept dummy since
we don't support MSI in IA64 Xen now, but here they shouldn't return
-ENOSYS because xend invokes them (the x86 version of them is necessary
for x86 Xen); in IPF Xen if they return -ENOSYS, xend would disallow us
to create IPF HVM guest with devices assigned. Here They can return 0 instead.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
xen/arch/ia64/xen/domain.c
xen/arch/ia64/xen/hypercall.c