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パススルーを行うための手順

To: Yuji Shimada <shimada-yxb@xxxxxxxxxxxxxxx>
Subject: Re: [Xen-japanese] PCIパススルーを行うための手順
From: Akio Takebe <takebe_akio@xxxxxxxxxxxxxx>
Date: Tue, 06 Jan 2009 09:10:50 +0900
Cc: xen-japanese@xxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 05 Jan 2009 16:12:02 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20090105193700.0996.SHIMADA-YXB@xxxxxxxxxxxxxxx>
List-archive: <http://lists.xensource.com/archives/html/xen-japanese>
List-help: <mailto:xen-japanese-request@lists.xensource.com?subject=help>
List-id: xen-japanese.lists.xensource.com
List-post: <mailto:xen-japanese@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-japanese>, <mailto:xen-japanese-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-japanese>, <mailto:xen-japanese-request@lists.xensource.com?subject=unsubscribe>
References: <20090105193700.0996.SHIMADA-YXB@xxxxxxxxxxxxxxx>
Sender: xen-japanese-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.18 (X11/20081119)
島田さん

竹部です。

パッチがコミットされましたね。
具体的にどういう時にPCIのBDF番号がずれるのでしょうか?
この方法を使う場合でもDevice,Function番号が記述されているので、
ずれても良いのはBus番号だけなのかなと思いましたが正しいでしょうか?

後、BDF番号とかをboot parameterにいっぱい書くのは面倒だし使い勝手が
悪い気がしていて、ワイルドカードみたいなものをsupportしてくれたら
うれしいなぁと思っていたのですが、
この方法だとうまいことできたりしまうでしょうか?

以上

Yuji Shimada さんは書きました:
> 現在の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


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