aboutsummaryrefslogtreecommitdiffstats
path: root/docs/misc/vtd.txt
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2009-07-07 14:07:08 +0100
committerKeir Fraser <keir.fraser@citrix.com>2009-07-07 14:07:08 +0100
commit6e56d8aa4ad01fdee0b1cc93e01a28dfd76be53c (patch)
tree2f173790f99154bbcd46e96351ded976c2d3f92b /docs/misc/vtd.txt
parentb67758cda13b743f08d8964c68d2dfe52c9f3486 (diff)
downloadxen-6e56d8aa4ad01fdee0b1cc93e01a28dfd76be53c.tar.gz
xen-6e56d8aa4ad01fdee0b1cc93e01a28dfd76be53c.tar.bz2
xen-6e56d8aa4ad01fdee0b1cc93e01a28dfd76be53c.zip
docs: update vtd.txt for pv-ops dom0
Now VT-d works with pv-ops dom0, update vtd.txt to tell how to build and use VT-d with pv-ops. Signed-off-by: Weidong Han <weidong.han@intel.com>=
Diffstat (limited to 'docs/misc/vtd.txt')
-rw-r--r--docs/misc/vtd.txt43
1 files changed, 41 insertions, 2 deletions
diff --git a/docs/misc/vtd.txt b/docs/misc/vtd.txt
index 5f90b640c3..72a7820f32 100644
--- a/docs/misc/vtd.txt
+++ b/docs/misc/vtd.txt
@@ -3,11 +3,12 @@ Authors : Allen Kay <allen.m.kay@intel.com>
Weidong Han <weidong.han@intel.com>
Yuji Shimada <shimada-yxb@necst.nec.co.jp>
Created : October-24-2007
-Updated : September-09-2008
+Updated : July-07-2009
How to turn on VT-d in Xen
--------------------------
+Xen with 2.6.18 dom0:
1 ) cd xen-unstable.hg
2 ) make install
3 ) make linux-2.6-xen-config CONFIGMODE=menuconfig
@@ -44,6 +45,44 @@ title Xen-Fedora Core (2.6.18-xen)
"ifconfig" to see if IP address has been assigned to NIC devices.
+Xen with pv-ops dom0:
+1 ) cd xen-unstable.hg
+2 ) make install
+3 ) make linux-2.6-pvops-config CONFIGMODE=menuconfig
+4 ) change Bus options (PCI etc.)->"PCI Stub driver" to "*".
+5 ) make linux-2.6-pvops-build
+6 ) make linux-2.6-pvops-install
+7 ) mkinitrd -v -f --with=ahci --with=aacraid --with=sd_mod --with=scsi_mod initrd-2.6.30-rc3-tip.img 2.6.30-rc3-tip
+ (change 2.6.30-rc3-tip to pv-ops dom0 version when it's updated in future)
+8 ) cp initrd-2.6.30-rc3-tip.img /boot
+9 ) edit grub:
+
+title Xen-Fedora Core (pv-ops)
+ root (hd0,0)
+ kernel /boot/xen.gz console=com1,vga console=com1 com1=115200,8n1 iommu=1
+ module /boot/vmlinuz-2.6.30-rc3-tip root=LABEL=/ ro console=hvc0 earlyprintk=xen
+ module /boot/initrd-2.6.30-rc3-tip.img
+
+10) reboot system
+11) hide device using pci-stub (example PCI device 01:00.0):
+
+ - lspci -n
+ - locate the entry for device 01:00.0 and note down the vendor & device ID
+8086:10b9
+ ...
+ 01:00.0 0200: 8086:10b9 (rev 06)
+ ...
+ - then use following commands to hide it:
+ echo "8086 10b9" > /sys/bus/pci/drivers/pci-stub/new_id
+ echo "0000:01:00.0" > /sys/bus/pci/devices/0000:01:00.0/driver/unbind
+ echo "0000:01:00.0" > /sys/bus/pci/drivers/pci-stub/bind
+
+12) add "pci" line in /etc/xen/hvm.conf for to assigned devices
+ pci = [ '01:00.0' ]
+13) start hvm guest and use "lspci" to see the passthru device and
+ "ifconfig" to see if IP address has been assigned to NIC devices.
+
+
Enable MSI/MSI-x for assigned devices
-------------------------------------
Add "msi=1" option in kernel line of host grub.
@@ -245,7 +284,7 @@ using it in VT-d environment. You need to hide the Virtual Function,
use the Virtual Function bus, device and function number in the HVM
guest configuration file and then boot the HVM guest. You also need the
Virtual Function driver which is the normal PCI device driver in the
-HMV guest to drive the Virtual Function. The PCIe SR-IOV specification
+HVM guest to drive the Virtual Function. The PCIe SR-IOV specification
requires that the Virtual Function can only support MSI/MSI-x if it
uses interrupt. This means you also need to enable Xen/MSI support.
Since the Virtual Function is dynamically allocated by Physical Function