mirror of
https://github.com/foxlet/macOS-Simple-KVM
synced 2024-11-21 18:53:06 +00:00
[DOCS] Add PCIe passthrough draft.
This commit is contained in:
parent
c61095d73a
commit
e7e0bc423c
1 changed files with 48 additions and 0 deletions
48
docs/guide-passthrough.md
Normal file
48
docs/guide-passthrough.md
Normal file
|
@ -0,0 +1,48 @@
|
|||
Guide to PCIe Passthrough
|
||||
=========================
|
||||
This is a draft.
|
||||
|
||||
## Enable BIOS features
|
||||
To use PCIe Passthrough, you will need a compatible motherboard and CPU with support for iommu. Look up your motherboard manual on how to enable these features, but they are commonly named `VT-d` or `AMD Vi`.
|
||||
|
||||
## Get Some Information
|
||||
To pass through a card, you'll need to know some value pertaining to the card itself: The Device IDs, and BDF IDs. The following command will give a list of relevant devices to use in the next steps.
|
||||
|
||||
```
|
||||
lspci -nn | grep "VGA\|Audio"
|
||||
```
|
||||
|
||||
### Example
|
||||
An example output might look like this:
|
||||
|
||||
```
|
||||
26:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X] [1002:6810]
|
||||
26:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series] [1002:aab0]
|
||||
```
|
||||
|
||||
The first value (`26:00.0`) is the BDF ID, and the last (`1002:6810`) is the Device ID. Cards with a built-in audio controller have to be passed together, so note the IDs for both subdevices.
|
||||
|
||||
## Add Kernel Flags
|
||||
The `iommu` kernel module is not enabled by default, but you can enable it on boot by passing the following flags to the kernel. Replace the Device IDs with your corresponding card.
|
||||
|
||||
### AMD
|
||||
```
|
||||
iommu=pt amd_iommu=on vfio-pci.ids=1002:66af,1002:ab20
|
||||
```
|
||||
|
||||
### Intel
|
||||
```
|
||||
iommu=pt intel_iommu=on vfio-pci.ids=1002:66af,1002:ab20
|
||||
```
|
||||
|
||||
To do this permanently, you can add it to your bootloader. If you're using GRUB, for example, edit `/etc/default/grub` and add the previous lines to the `GRUB_CMDLINE_LINUX_DEFAULT` section.
|
||||
|
||||
## Attach card to QEMU
|
||||
You will need to attach the cards using the BDF IDs for the audio and video controller. The following example shows the config for a card with two devices. The romfile parameter is optional.
|
||||
|
||||
```
|
||||
-vga none \
|
||||
-device ioh3420,bus=pcie.0,multifunction=on,port=1,chassis=1,id=port.1 \
|
||||
-device vfio-pci,host=26:00.0,bus=port.1,multifunction=on,romfile=/path/to/card.rom \
|
||||
-device vfio-pci,host=26:00.1,bus=port.1 \
|
||||
```
|
Loading…
Reference in a new issue