Changeset 36852 in vbox
- Timestamp:
- Apr 27, 2011 9:45:35 AM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 71423
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/manual/en_US/user_AdvancedTopics.xml
r36648 r36852 541 541 <title>PCI passthrough</title> 542 542 543 <para>When running on Linux hosts, with recent enough kernel (at least version 544 <computeroutput>2.6.31</computeroutput>) experimental host PCI devices 543 <para>When running on Linux hosts, with recent enough kernel (at least version 544 <computeroutput>2.6.31</computeroutput>) experimental host PCI devices 545 545 passthrough is available.<footnote> 546 546 <para>Experimental support for PCI passthrough was introduced with VirtualBox 547 547 4.1.</para> 548 548 </footnote> Essentially this feature allows to use physical PCI devices 549 on host directly by the guest, even if host doesn't have drivers for this 550 particular device. Both regular PCI and some PCI Express cards are 551 supported. AGP and certain PCI Express cards are not supported at the 552 moment, if they rely on GART (Graphics Address Remapping Table) unit 553 programming for texture management, as it does rather nontrivial 554 operations with pages remapping interfering with IOMMU. 549 on host directly by the guest, even if host doesn't have drivers for this 550 particular device. Both regular PCI and some PCI Express cards are 551 supported. AGP and certain PCI Express cards are not supported at the 552 moment, if they rely on GART (Graphics Address Remapping Table) unit 553 programming for texture management, as it does rather nontrivial 554 operations with pages remapping interfering with IOMMU. 555 555 This limitation may be lifted in future releases.</para> 556 556 557 <para>To be fully functional, PCI passthrough support in VirtualBox depends upon 557 <para>To be fully functional, PCI passthrough support in VirtualBox depends upon 558 558 IOMMU hardware unit, which is not yet too widely available. To be exact, 559 559 if device uses bus mastering (i.e. performs DMA to the OS memory on its own), then … … 563 563 using knowledge of guest physical address to host physical addresses translation rules.</para> 564 564 565 <para>Intel's solution for IOMMU is marketed as "Intel Virtualization Technology for 566 Directed I/O" (VT-d), and AMD's one is called AMD-Vi. So please check if your 565 <para>Intel's solution for IOMMU is marketed as "Intel Virtualization Technology for 566 Directed I/O" (VT-d), and AMD's one is called AMD-Vi. So please check if your 567 567 motherboard datasheet has appropriate technology. 568 568 Even if your hardware doesn't have IOMMU, certain PCI cards may work 569 (such as serial PCI adapters), but guest will show warning on boot, and 570 VM execution will terminate, if guest driver will attempt to enable card 569 (such as serial PCI adapters), but guest will show warning on boot, and 570 VM execution will terminate, if guest driver will attempt to enable card 571 571 bus mastering.</para> 572 572 … … 585 585 </listitem> 586 586 <listitem> 587 Your Linux kernel compiled with IOMMU support (including DMA remapping, see 587 Your Linux kernel compiled with IOMMU support (including DMA remapping, see 588 588 <computeroutput>CONFIG_DMAR</computeroutput> kernel compilation option). 589 589 </listitem> 590 590 <listitem> 591 Your Linux kernel recognizes and uses IOMMU unit (<computeroutput>intel-iommu=on</computeroutput> 592 boot option could be needed). Search for DMAR in kernel boot log. 591 Your Linux kernel recognizes and uses IOMMU unit (<computeroutput>intel-iommu=on</computeroutput> 592 boot option could be needed). Search for DMAR in kernel boot log. 593 593 </listitem> 594 </orderedlist> 594 </orderedlist> 595 595 </para> 596 596 597 597 <para>Once you made sure that host kernel supports IOMMU, next step is to select 598 598 PCI card, and attach it to the guest. To figure out list of available PCI devices, … … 606 606 06:00.0 VGA compatible controller: nVidia Corporation G86 [GeForce 8500 GT] (rev a1) 607 607 </screen> 608 First column here is a PCI address (in format <computeroutput>bus:device.function</computeroutput>). 609 This address could be used to identify device for further operations. 610 For example, to attach PCI network controller on system listed above, 608 First column here is a PCI address (in format <computeroutput>bus:device.function</computeroutput>). 609 This address could be used to identify device for further operations. 610 For example, to attach PCI network controller on system listed above, 611 611 to second PCI bus in the guest, as device 5, function 0, use the following command: 612 612 <screen>VBoxManage modifyvm "VM name" --attachpci 02:00.0@01:05.0</screen> 613 To detach same device, use 613 To detach same device, use 614 614 <screen>VBoxManage modifyvm "VM name" --detachpci 02:00.0</screen> 615 Please note, that both host and guest could freely assign different PCI address to 616 card attached during runtime, so those addresses only apply to address of card at 615 Please note, that both host and guest could freely assign different PCI address to 616 card attached during runtime, so those addresses only apply to address of card at 617 617 the moment of attachment (host), and during BIOS PCI init (guest). 618 618 </para> 619 619 620 620 <para>If virtual machine has PCI device attached, certain limitations apply. 621 621 <orderedlist> 622 622 <listitem> 623 Only PCI cards with non-shared interrupts (such as using MSI on host) can be 623 Only PCI cards with non-shared interrupts (such as using MSI on host) can be 624 624 supported at the moment. 625 625 </listitem> … … 634 634 No lazy physical memory allocation, host preallocates whole RAM on startup 635 635 (as we cannot catch physical hardware access to physical memory). 636 </listitem> 637 </orderedlist> 636 </listitem> 637 </orderedlist> 638 638 </para> 639 639 640 640 </sect1> 641 641 … … 1529 1529 </itemizedlist></para> 1530 1530 </sect1> 1531 1532 <sect1 id="vboxballoonctrl"> 1533 <title>Memory Ballooning Service</title> 1534 1535 <para>Starting at VirtualBox 4.0.8 a new host executable called <computeroutput>VBoxBalloonCtrl</computeroutput> is 1536 available to automatically take care of a VM's configured memory balloon (see <xref linkend="guestadd-balloon" /> 1537 for an introduction to memory ballooning). This especially is useful for server environments where VMs may dynamically 1538 require more or less memory during runtime.</para> 1539 1540 <para>VBoxBalloonCtrl periodically checks a VM's current memory balloon and its free guest RAM and automatically adjusts 1541 the current memory balloon by inflating or deflating it accordingly. This handling only applies to running VMs having recent 1542 Guest Additions installed.</para> 1543 1544 <para>To set up VBoxBalloonCtrl and adjust the maximum ballooning size a VM can reach the following parameters will be checked in the following 1545 order: 1546 <itemizedlist> 1547 <listitem>specified via VBoxBalloonCtrl command line parameter <computeroutput>--balloon-max</computeroutput></listitem> 1548 <listitem>per-VM parameter using <screen>VBoxManage setextradata "VM-Name" VBoxInternal/Guest/BalloonSizeMax <Size in MB></screen></listitem> 1549 <listitem>global parameter for all VMs using <screen>VBoxManage setextradata global VBoxInternal/Guest/BalloonSizeMax <Size in MB></screen></listitem> 1550 </itemizedlist> 1551 <note> 1552 <para>If no maximum ballooning size is specified by at least one of the parameters above, no ballooning will be performed at all.</para> 1553 </note> 1554 </para> 1555 1556 <para>For more options and parameters check the built-in command line help accessible with <computeroutput>--help</computeroutput>.</para> 1557 </sect1> 1531 1558 </chapter>
Note:
See TracChangeset
for help on using the changeset viewer.