WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-japanese

Re: [Xen-japanese] PCIパススルーを行うための手順

産総研の須崎です。はじめて投稿します。
パススルーは興味があり試しているのですが、まだうまく行っていません。

よろしければ動作が確認されたマザーボード(BIOSのバージョンを含む)と
PCIデバイスを教えて頂けれると助かります。
ちなみにこちらで試しているのはマザーボードは Intel DQ35JO です。

Xen VT-dの設定については下記のHPを参考にしていました。
  http://wiki.xensource.com/xenwiki/VTdHowTo

------
suzaki

 >>From: Yuji Shimada <shimada-yxb@xxxxxxxxxxxxxxx>
 >>Subject: [Xen-japanese] PCIパススルーを行うための手順
 >>
 >>現在のXenではPCIデバイスのPCIパススルーが行えるようになっています。
 >>(IOMMU(I/O Memory Management Unit)内蔵のチップセットが搭載されている
 >> マシンを使用することが条件)
 >>
 >>PCIパススルーとはゲスト・ドメインが直接PCIデバイスを操作することです。
 >>
 >>エミュレーション方式に代えて、PCIパススルーを使用することで、仮想化されて
 >>いないOSからPCIデバイスを操作するのとほとんど代わりない性能を得ることが
 >>できます。
 >>現在、様々なPCIデバイスをPCIパススルーによって操作できます。
 >>しかし、PCIパススルーで動かないPCIデバイスも存在していると考えています。
 >>
 >>ですので、問題が発生した方がいましたらご報告をお願いします。
 >>なるべくご対応させていただきたいと思います。
 >>
 >>以下にPCIパススルーを行うための手順を示します。
 >>
 >>
 >>[PCIパススルーを行うためのXen Unstable版の構築手順]
 >> 1.Xen Unstableをネットワーク経由で取得。
 >>
 >>  # hg clone http://xenbits.xensource.com/xen-unstable.hg
 >>  # cd xen-unstable.hg
 >>
 >> 2.pcibackドライバをビルトインする。
 >>
 >>  # make linux-2.6-xen-config CONFIGMODE=menuconfig
 >>
 >>   ----------設定----------
 >>   Xen --->
 >>     <*> PCI-device backend driver
 >>   ----------設定----------
 >>
 >> 3.Xenをビルドする。
 >>
 >>  # make
 >>
 >> 4.Xenをインストールする。
 >>
 >>  # make install
 >>
 >> 5.modules.depの作成
 >>
 >>  # depmod -F /boot/System.map-2.6.18.8-xen 2.6.18.8-xen
 >>
 >> 6.イニシャルRAMディスクの作成
 >>
 >>  # mkinitrd -f /boot/initrd-2.6.18.8-xen.img 2.6.18.8-xen
 >>
 >> 7.ゲスト・ドメインに割り当てるPCIデバイスのBDF(Bus No. Device No.
 >>   Function No.)を確認する。
 >>   (今回はIDEカードとNICを割り当てることとして話を進める。)
 >>
 >>  # lspci
 >>
 >>   00:19.0 Ethernet controller: Intel Corporation 82566DM-2
 >>           Gigabit Network Connection (rev 02)
 >>   ...
 >>   01:01.0 Mass storage controller: Integrated Technology Express, Inc.
 >>           IT/ITE8212 Dual channel ATA RAID controller (rev 13)
 >>   ...
 >>
 >> 8.ブート・ローダの"reassigndev"パラメータでゲスト・ドメインに割り当てる
 >>   PCIデバイスのリソースの再割当を行う。
 >>   また、"pciback.hide"パラメータでゲスト・ドメインに割り当てるPCIデバイス
 >>   をpcibackドライバでバインドする。
 >>
 >>  # vi /boot/grub/grub.conf
 >>
 >>   ----------編集----------
 >>   title Xen-3.4-Unstable (2.6.18.8-xen)
 >>         root (hd0,0)
 >>         kernel /boot/xen-3.4-unstable.gz iommu
 >>         module /boot/vmlinuz-2.6.18.8-xen ro root=LABEL=/ 
 >>                reassigndev=0000:00:19.0,0000:01:01.0 
 >>                pciback.hide=(0000:00:19.0)(0000:01:01.0)
 >>         module /boot/initrd-2.6.18.8-xen.img
 >>   ----------編集----------
 >>
 >> 9.Xen Unstable版を起動する。
 >>
 >>  # reboot
 >>
 >>
 >>[割当手順]
 >> 1.ゲスト・ドメインに割り当てるPCIデバイスのBDFをゲストの設定ファイルに
 >>   記載する。
 >>
 >>  # vi /etc/xen/GUEST.hvm
 >>
 >>   pci = [ '00:19.0','01:01.0' ]
 >>
 >> 2.ゲスト・ドメインを起動する。
 >>
 >>  # xm create /etc/xen/GUEST.hvm
 >>
 >> 3.割り当てたPCIデバイスをゲスト・ドメインから使用できるかを確認する。
 >>   (ゲスト・ドメインとしてLinuxを使用したときの確認方法)
 >>
 >>  # lspci
 >>
 >>   00:10.0 Ethernet controller: Intel Corporation 82566DM-2
 >>           Gigabit Network Connection (rev 02)
 >>   ...
 >>   01:09.0 Mass storage controller: Integrated Technology Express, Inc.
 >>           IT/ITE8212 Dual channel ATA RAID controller (rev 13)
 >>   ...
 >>
 >>
 >>[補足]
 >> BDFを使用したPCIデバイスの指定方法ではブート時に番号が変更されてしまう
 >> 恐れがあります。
 >> しかし、デバイス・パスと呼ばれるパラメータを用いてPCIデバイスを指定する
 >> と、そのデバイス・パスは変更されることなく、永続的なパラメータとして
 >> ゲスト・ドメインに割り当てるPCIデバイスを指定することができます。
 >> デバイス・パスの書式は以下のようになっています。
 >>
 >>  <hid>[:<uid>]-<dev>.<func>[-<dev>.<func>[...]]
 >>
 >>  例) PNP0A03:100-1c.1-00.0
 >>
 >> このデバイス・パスを用いて、ゲスト・ドメインに割り当てる予定のPCIデバイス
 >> を指定する"guestdev"というブート・パラメータをdom0 Linuxに追加するパッチ
 >> がXen Unstableに投稿されています。(現在、未採用)
 >>
 >>  例) reassign_resources guestdev=PNP0A03:100-1c.1-00.0,PNP0A03:100-1d.7
 >>
 >>  
 >> (参照)http://lists.xensource.com/archives/html/xen-devel/2008-12/msg01093.html
 >>
 >> BDFからデバイス・パスに変換することができるスクリプト(device_path.py)も
 >> 投稿されています。
 >>
 >>  
 >> (参照)http://lists.xensource.com/archives/html/xen-devel/2008-12/msg01116.html
 >>
 >> このスクリプトは以下のように使用できます。
 >>
 >>  # chmod 755 device_path.py
 >>  # device_path.py 07:00.0
 >>
 >>   PNP0A03:100-1c.1-00.0
 >>
 >>
 >>ご質問等ありましたらお気軽にどうぞ。
 >>それでは、よろしくお願いします。
 >>--
 >>NECシステムテクノロジー 島田雄二
 >>
 >>

_______________________________________________
Xen-japanese mailing list
Xen-japanese@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/mailman/listinfo/xen-japanese