Created
January 28, 2019 05:23
-
-
Save akissu/24e6bc3f8af40fede3651af9a06c5cf5 to your computer and use it in GitHub Desktop.
Config files to perform PCI passthrough over Thunderbolt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| title enter da virtual w0r1d | |
| linux /vmlinuz-linux | |
| initrd /intel-ucode.img | |
| initrd /initramfs-linux.img | |
| options cryptdevice=UUID=a403fa05-b3c1-4d3e-864b-f3158ab74abc:root root=/dev/mapper/root intel_iommu=on iommu=pt rd.driver.pre=vfio-pci vfio-pci.ids=10de:1b81,10de:10f0,8086:15b6 | |
| #iommu_groups | grep -e "Group 13" -e "Group 14" | |
| #IOMMU Group 13 03:00.0 PCI bridge [0604]: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015] [8086:1576] | |
| #IOMMU Group 13 04:00.0 System peripheral [0880]: Intel Corporation DSL6340 Thunderbolt 3 NHI [Alpine Ridge 2C 2015] [8086:1575] | |
| #IOMMU Group 14 03:01.0 PCI bridge [0604]: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015] [8086:1576] | |
| #IOMMU Group 14 05:00.0 PCI bridge [0604]: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] [8086:1578] | |
| #IOMMU Group 14 06:01.0 PCI bridge [0604]: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] [8086:1578] | |
| #IOMMU Group 14 06:04.0 PCI bridge [0604]: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] [8086:1578] | |
| #IOMMU Group 14 07:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104 [GeForce GTX 1070] [10de:1b81] (rev a1) | |
| #IOMMU Group 14 07:00.1 Audio device [0403]: NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0] (rev a1) | |
| #IOMMU Group 14 08:00.0 USB controller [0c03]: Intel Corporation DSL6540 USB 3.1 Controller [Alpine Ridge] [8086:15b6] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # vim:set ft=sh | |
| # MODULES | |
| # The following modules are loaded before any boot hooks are | |
| # run. Advanced users may wish to specify all system modules | |
| # in this array. For instance: | |
| # MODULES=(piix ide_disk reiserfs) | |
| MODULES=(vfio_pci vfio vfio_iommu_type1 vfio_virqfd) | |
| # BINARIES | |
| # This setting includes any additional binaries a given user may | |
| # wish into the CPIO image. This is run last, so it may be used to | |
| # override the actual binaries included by a given hook | |
| # BINARIES are dependency parsed, so you may safely ignore libraries | |
| BINARIES=() | |
| # FILES | |
| # This setting is similar to BINARIES above, however, files are added | |
| # as-is and are not parsed in any way. This is useful for config files. | |
| FILES=() | |
| # HOOKS | |
| # This is the most important setting in this file. The HOOKS control the | |
| # modules and scripts added to the image, and what happens at boot time. | |
| # Order is important, and it is recommended that you do not change the | |
| # order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for | |
| # help on a given hook. | |
| # 'base' is _required_ unless you know precisely what you are doing. | |
| # 'udev' is _required_ in order to automatically load modules | |
| # 'filesystems' is _required_ unless you specify your fs modules in MODULES | |
| # Examples: | |
| ## This setup specifies all modules in the MODULES setting above. | |
| ## No raid, lvm2, or encrypted root is needed. | |
| # HOOKS=(base) | |
| # | |
| ## This setup will autodetect all modules for your system and should | |
| ## work as a sane default | |
| # HOOKS=(base udev autodetect block filesystems) | |
| # | |
| ## This setup will generate a 'full' image which supports most systems. | |
| ## No autodetection is done. | |
| # HOOKS=(base udev block filesystems) | |
| # | |
| ## This setup assembles a pata mdadm array with an encrypted root FS. | |
| ## Note: See 'mkinitcpio -H mdadm' for more information on raid devices. | |
| # HOOKS=(base udev block mdadm encrypt filesystems) | |
| # | |
| ## This setup loads an lvm2 volume group on a usb device. | |
| # HOOKS=(base udev block lvm2 filesystems) | |
| # | |
| ## NOTE: If you have /usr on a separate partition, you MUST include the | |
| # usr, fsck and shutdown hooks. | |
| HOOKS=(base udev autodetect keyboard keymap modconf block encrypt filesystems keyboard fsck) | |
| # COMPRESSION | |
| # Use this to compress the initramfs image. By default, gzip compression | |
| # is used. Use 'cat' to create an uncompressed image. | |
| #COMPRESSION="gzip" | |
| #COMPRESSION="bzip2" | |
| #COMPRESSION="lzma" | |
| #COMPRESSION="xz" | |
| #COMPRESSION="lzop" | |
| #COMPRESSION="lz4" | |
| # COMPRESSION_OPTIONS | |
| # Additional options for the compressor | |
| #COMPRESSION_OPTIONS=() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <domain type='kvm'> | |
| <name>win10</name> | |
| <uuid>469d7b97-0a2f-4f25-80d6-36c14abe05b1</uuid> | |
| <metadata> | |
| <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0"> | |
| <libosinfo:os id="http://microsoft.com/win/10"/> | |
| </libosinfo:libosinfo> | |
| </metadata> | |
| <memory unit='KiB'>6000000</memory> | |
| <currentMemory unit='KiB'>6000000</currentMemory> | |
| <vcpu placement='static'>8</vcpu> | |
| <os> | |
| <type arch='x86_64' machine='pc-q35-3.0'>hvm</type> | |
| <loader readonly='yes' type='pflash'>/usr/share/ovmf/x64/OVMF_CODE.fd</loader> | |
| <nvram>/var/lib/libvirt/qemu/nvram/win10_VARS.fd</nvram> | |
| <boot dev='hd'/> | |
| </os> | |
| <features> | |
| <acpi/> | |
| <apic/> | |
| <hyperv> | |
| <relaxed state='on'/> | |
| <vapic state='on'/> | |
| <spinlocks state='on' retries='8191'/> | |
| <vendor_id state='on' value='whatever'/> | |
| </hyperv> | |
| <kvm> | |
| <hidden state='on'/> | |
| </kvm> | |
| <vmport state='off'/> | |
| </features> | |
| <cpu mode='host-model' check='partial'> | |
| <model fallback='allow'/> | |
| <topology sockets='1' cores='4' threads='2'/> | |
| </cpu> | |
| <clock offset='localtime'> | |
| <timer name='rtc' tickpolicy='catchup'/> | |
| <timer name='pit' tickpolicy='delay'/> | |
| <timer name='hpet' present='no'/> | |
| <timer name='hypervclock' present='yes'/> | |
| </clock> | |
| <on_poweroff>destroy</on_poweroff> | |
| <on_reboot>restart</on_reboot> | |
| <on_crash>destroy</on_crash> | |
| <pm> | |
| <suspend-to-mem enabled='no'/> | |
| <suspend-to-disk enabled='no'/> | |
| </pm> | |
| <devices> | |
| <emulator>/usr/bin/qemu-system-x86_64</emulator> | |
| <disk type='file' device='disk'> | |
| <driver name='qemu' type='qcow2'/> | |
| <source file='/var/lib/libvirt/images/win10.qcow2'/> | |
| <target dev='sda' bus='sata'/> | |
| <address type='drive' controller='0' bus='0' target='0' unit='0'/> | |
| </disk> | |
| <disk type='file' device='cdrom'> | |
| <driver name='qemu' type='raw'/> | |
| <source file='/root/Downloads/Win10_1809Oct_English_x64.iso'/> | |
| <target dev='sdb' bus='sata'/> | |
| <readonly/> | |
| <address type='drive' controller='0' bus='0' target='0' unit='1'/> | |
| </disk> | |
| <controller type='usb' index='0' model='qemu-xhci' ports='15'> | |
| <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> | |
| </controller> | |
| <controller type='sata' index='0'> | |
| <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> | |
| </controller> | |
| <controller type='pci' index='0' model='pcie-root'/> | |
| <controller type='pci' index='1' model='pcie-root-port'> | |
| <model name='pcie-root-port'/> | |
| <target chassis='1' port='0x10'/> | |
| <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/> | |
| </controller> | |
| <controller type='pci' index='2' model='pcie-root-port'> | |
| <model name='pcie-root-port'/> | |
| <target chassis='2' port='0x11'/> | |
| <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/> | |
| </controller> | |
| <controller type='pci' index='3' model='pcie-root-port'> | |
| <model name='pcie-root-port'/> | |
| <target chassis='3' port='0x12'/> | |
| <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/> | |
| </controller> | |
| <controller type='pci' index='4' model='pcie-root-port'> | |
| <model name='pcie-root-port'/> | |
| <target chassis='4' port='0x13'/> | |
| <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/> | |
| </controller> | |
| <controller type='pci' index='5' model='pcie-root-port'> | |
| <model name='pcie-root-port'/> | |
| <target chassis='5' port='0x14'/> | |
| <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/> | |
| </controller> | |
| <controller type='pci' index='6' model='pcie-root-port'> | |
| <model name='pcie-root-port'/> | |
| <target chassis='6' port='0x8'/> | |
| <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/> | |
| </controller> | |
| <controller type='pci' index='7' model='pcie-root-port'> | |
| <model name='pcie-root-port'/> | |
| <target chassis='7' port='0x9'/> | |
| <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> | |
| </controller> | |
| <controller type='pci' index='8' model='pcie-to-pci-bridge'> | |
| <model name='pcie-pci-bridge'/> | |
| <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/> | |
| </controller> | |
| <interface type='network'> | |
| <mac address='52:54:00:ec:61:1d'/> | |
| <source network='default'/> | |
| <model type='e1000e'/> | |
| <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> | |
| </interface> | |
| <serial type='pty'> | |
| <target type='isa-serial' port='0'> | |
| <model name='isa-serial'/> | |
| </target> | |
| </serial> | |
| <console type='pty'> | |
| <target type='serial' port='0'/> | |
| </console> | |
| <input type='tablet' bus='usb'> | |
| <address type='usb' bus='0' port='1'/> | |
| </input> | |
| <input type='mouse' bus='ps2'/> | |
| <input type='keyboard' bus='ps2'/> | |
| <sound model='ich9'> | |
| <address type='pci' domain='0x0000' bus='0x00' slot='0x1b' function='0x0'/> | |
| </sound> | |
| <hostdev mode='subsystem' type='pci' managed='yes'> | |
| <source> | |
| <address domain='0x0000' bus='0x07' slot='0x00' function='0x0'/> | |
| </source> | |
| <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> | |
| </hostdev> | |
| <hostdev mode='subsystem' type='pci' managed='yes'> | |
| <source> | |
| <address domain='0x0000' bus='0x07' slot='0x00' function='0x1'/> | |
| </source> | |
| <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/> | |
| </hostdev> | |
| <hostdev mode='subsystem' type='pci' managed='yes'> | |
| <source> | |
| <address domain='0x0000' bus='0x08' slot='0x00' function='0x0'/> | |
| </source> | |
| <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/> | |
| </hostdev> | |
| <redirdev bus='usb' type='spicevmc'> | |
| <address type='usb' bus='0' port='2'/> | |
| </redirdev> | |
| <redirdev bus='usb' type='spicevmc'> | |
| <address type='usb' bus='0' port='3'/> | |
| </redirdev> | |
| <memballoon model='virtio'> | |
| <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> | |
| </memballoon> | |
| </devices> | |
| </domain> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment