LINUX.ORG.RU

История изменений

Исправление slon, (текущая версия) :

Sure, Jan, feel free to ask any questions.

kernel config:

CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="root=blabla vfio-pci.ids=10de:0a60,10de:0be3,13f6:0111 amd_iommu=on iommu=pt"
CONFIG_CMDLINE_OVERRIDE=y
/etc/modprobe.d/kvm-amd.conf:
options kvm-amd npt=0
lspci -nn:
00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 30h-3fh) Processor Root Complex [1022:1422]
00:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 30h-3fh) I/O Memory Management Unit [1022:1423]
00:01.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Kaveri [Radeon R7 Graphics] [1002:130f] (rev d4)
00:01.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Kaveri HDMI/DP Audio Controller [1002:1308]
00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1424]
00:02.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:1425]
00:03.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1424]
00:03.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 30h-3fh) Processor Root Port [1022:1426]
00:04.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1424]
00:10.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] FCH USB XHCI Controller [1022:7814] (rev 09)
00:10.1 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] FCH USB XHCI Controller [1022:7814] (rev 09)
00:11.0 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7801] (rev 40)
00:12.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] FCH USB OHCI Controller [1022:7807] (rev 11)
00:12.2 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] FCH USB EHCI Controller [1022:7808] (rev 11)
00:13.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] FCH USB OHCI Controller [1022:7807] (rev 11)
00:13.2 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] FCH USB EHCI Controller [1022:7808] (rev 11)
00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:780b] (rev 16)
00:14.2 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] FCH Azalia Controller [1022:780d] (rev 01)
00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:780e] (rev 11)
00:14.4 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] FCH PCI Bridge [1022:780f] (rev 40)
00:14.5 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] FCH USB OHCI Controller [1022:7809] (rev 11)
00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 30h-3fh) Processor Function 0 [1022:141a]
00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 30h-3fh) Processor Function 1 [1022:141b]
00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 30h-3fh) Processor Function 2 [1022:141c]
00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 30h-3fh) Processor Function 3 [1022:141d]
00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 30h-3fh) Processor Function 4 [1022:141e]
00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 30h-3fh) Processor Function 5 [1022:141f]
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GT218 [GeForce G210] [10de:0a60] (rev a2)
01:00.1 Audio device [0403]: NVIDIA Corporation High Definition Audio Controller [10de:0be3] (rev a1)
02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 0c)
03:06.0 Multimedia audio controller [0401]: C-Media Electronics Inc CMI8738/CMI8768 PCI Audio [13f6:0111] (rev 10)
iommu groups:
/sys/kernel/iommu_groups/0/devices/0000:00:01.0 -> ../../../../devices/pci0000:00/0000:00:01.0
/sys/kernel/iommu_groups/0/devices/0000:00:01.1 -> ../../../../devices/pci0000:00/0000:00:01.1
/sys/kernel/iommu_groups/10/devices/0000:00:14.5 -> ../../../../devices/pci0000:00/0000:00:14.5
/sys/kernel/iommu_groups/11/devices/0000:00:18.0 -> ../../../../devices/pci0000:00/0000:00:18.0
/sys/kernel/iommu_groups/11/devices/0000:00:18.1 -> ../../../../devices/pci0000:00/0000:00:18.1
/sys/kernel/iommu_groups/11/devices/0000:00:18.2 -> ../../../../devices/pci0000:00/0000:00:18.2
/sys/kernel/iommu_groups/11/devices/0000:00:18.3 -> ../../../../devices/pci0000:00/0000:00:18.3
/sys/kernel/iommu_groups/11/devices/0000:00:18.4 -> ../../../../devices/pci0000:00/0000:00:18.4
/sys/kernel/iommu_groups/11/devices/0000:00:18.5 -> ../../../../devices/pci0000:00/0000:00:18.5
/sys/kernel/iommu_groups/1/devices/0000:00:02.0 -> ../../../../devices/pci0000:00/0000:00:02.0
/sys/kernel/iommu_groups/1/devices/0000:00:02.1 -> ../../../../devices/pci0000:00/0000:00:02.1
/sys/kernel/iommu_groups/1/devices/0000:01:00.0 -> ../../../../devices/pci0000:00/0000:00:02.1/0000:01:00.0
/sys/kernel/iommu_groups/1/devices/0000:01:00.1 -> ../../../../devices/pci0000:00/0000:00:02.1/0000:01:00.1
/sys/kernel/iommu_groups/2/devices/0000:00:03.0 -> ../../../../devices/pci0000:00/0000:00:03.0
/sys/kernel/iommu_groups/2/devices/0000:00:03.1 -> ../../../../devices/pci0000:00/0000:00:03.1
/sys/kernel/iommu_groups/2/devices/0000:02:00.0 -> ../../../../devices/pci0000:00/0000:00:03.1/0000:02:00.0
/sys/kernel/iommu_groups/3/devices/0000:00:04.0 -> ../../../../devices/pci0000:00/0000:00:04.0
/sys/kernel/iommu_groups/4/devices/0000:00:10.0 -> ../../../../devices/pci0000:00/0000:00:10.0
/sys/kernel/iommu_groups/4/devices/0000:00:10.1 -> ../../../../devices/pci0000:00/0000:00:10.1
/sys/kernel/iommu_groups/5/devices/0000:00:11.0 -> ../../../../devices/pci0000:00/0000:00:11.0
/sys/kernel/iommu_groups/6/devices/0000:00:12.0 -> ../../../../devices/pci0000:00/0000:00:12.0
/sys/kernel/iommu_groups/6/devices/0000:00:12.2 -> ../../../../devices/pci0000:00/0000:00:12.2
/sys/kernel/iommu_groups/7/devices/0000:00:13.0 -> ../../../../devices/pci0000:00/0000:00:13.0
/sys/kernel/iommu_groups/7/devices/0000:00:13.2 -> ../../../../devices/pci0000:00/0000:00:13.2
/sys/kernel/iommu_groups/8/devices/0000:00:14.0 -> ../../../../devices/pci0000:00/0000:00:14.0
/sys/kernel/iommu_groups/8/devices/0000:00:14.2 -> ../../../../devices/pci0000:00/0000:00:14.2
/sys/kernel/iommu_groups/8/devices/0000:00:14.3 -> ../../../../devices/pci0000:00/0000:00:14.3
/sys/kernel/iommu_groups/9/devices/0000:00:14.4 -> ../../../../devices/pci0000:00/0000:00:14.4
/sys/kernel/iommu_groups/9/devices/0000:03:06.0 -> ../../../../devices/pci0000:00/0000:00:14.4/0000:03:06.0
win8.1pro machine:
#!/bin/bash

qemu="/usr/bin/qemu-system-x86_64"

nic="virtio"

gen_macaddr() {
    printf 'de:ad:%02x:%02x:%02x:%02x\n' $((random%256)) $(($$%256)) $(($$/256%256)) $(($1))
}

macaddr0=$(gen_macaddr 10)
echo "macaddr0: ${macaddr0}"

${qemu} \
    -enable-kvm \
    -m 5120 \
    -machine q35,accel=kvm \
    -cpu host,hv_relaxed,hv_vapic,hv_spinlocks=0x1000,hv_vendor_id=fucknvidia,kvm=off \
    -smp 4,sockets=1,cores=4,threads=1 \
    -realtime mlock=off -rtc base=localtime \
    -drive if=pflash,format=raw,readonly,file=/mnt/vm/ovmf/ovmf-pure-efi.fd \
    -drive if=pflash,format=raw,file=/mnt/vm/ovmf/ovmf_vars-pure-efi.fd \
    -net nic,vlan=0,macaddr=de:ad:b2:bf:78:0a,model=virtio -net bridge,vlan=0 \
    -device vfio-pci,host=01:00.0,multifunction=on,romfile=/mnt/vm/img/gt218_updgop.rom,x-vga=on \
    -device vfio-pci,host=01:00.1 \
    -device vfio-pci,host=03:06.0 \
    -device virtio-scsi-pci,id=scsi \
    -drive file=/dev/sdd,media=disk,if=virtio,id=c,format=raw,cache=none,aio=native \
    -nodefaults \
    -vga none \

OVMF pure non hybrid EFI: ovmf-pure-efi.fd + ovmf_vars-pure-efi.fd

Исходная версия slon, :

Sure, Jan, feel free to ask any questions.

kernel config:

CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="root=blabla vfio-pci.ids=10de:0a60,10de:0be3,13f6:0111 amd_iommu=on iommu=pt"
CONFIG_CMDLINE_OVERRIDE=y
/etc/modprobe.d/kvm-amd.conf:
options kvm-amd npt=0
lspci -nn:
00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 30h-3fh) Processor Root Complex [1022:1422]
00:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 30h-3fh) I/O Memory Management Unit [1022:1423]
00:01.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Kaveri [Radeon R7 Graphics] [1002:130f] (rev d4)
00:01.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Kaveri HDMI/DP Audio Controller [1002:1308]
00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1424]
00:02.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:1425]
00:03.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1424]
00:03.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 30h-3fh) Processor Root Port [1022:1426]
00:04.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1424]
00:10.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] FCH USB XHCI Controller [1022:7814] (rev 09)
00:10.1 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] FCH USB XHCI Controller [1022:7814] (rev 09)
00:11.0 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7801] (rev 40)
00:12.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] FCH USB OHCI Controller [1022:7807] (rev 11)
00:12.2 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] FCH USB EHCI Controller [1022:7808] (rev 11)
00:13.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] FCH USB OHCI Controller [1022:7807] (rev 11)
00:13.2 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] FCH USB EHCI Controller [1022:7808] (rev 11)
00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:780b] (rev 16)
00:14.2 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] FCH Azalia Controller [1022:780d] (rev 01)
00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:780e] (rev 11)
00:14.4 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] FCH PCI Bridge [1022:780f] (rev 40)
00:14.5 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] FCH USB OHCI Controller [1022:7809] (rev 11)
00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 30h-3fh) Processor Function 0 [1022:141a]
00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 30h-3fh) Processor Function 1 [1022:141b]
00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 30h-3fh) Processor Function 2 [1022:141c]
00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 30h-3fh) Processor Function 3 [1022:141d]
00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 30h-3fh) Processor Function 4 [1022:141e]
00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 30h-3fh) Processor Function 5 [1022:141f]
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GT218 [GeForce G210] [10de:0a60] (rev a2)
01:00.1 Audio device [0403]: NVIDIA Corporation High Definition Audio Controller [10de:0be3] (rev a1)
02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 0c)
03:06.0 Multimedia audio controller [0401]: C-Media Electronics Inc CMI8738/CMI8768 PCI Audio [13f6:0111] (rev 10)
iommu groups:
/sys/kernel/iommu_groups/0/devices/0000:00:01.0 -> ../../../../devices/pci0000:00/0000:00:01.0
/sys/kernel/iommu_groups/0/devices/0000:00:01.1 -> ../../../../devices/pci0000:00/0000:00:01.1
/sys/kernel/iommu_groups/10/devices/0000:00:14.5 -> ../../../../devices/pci0000:00/0000:00:14.5
/sys/kernel/iommu_groups/11/devices/0000:00:18.0 -> ../../../../devices/pci0000:00/0000:00:18.0
/sys/kernel/iommu_groups/11/devices/0000:00:18.1 -> ../../../../devices/pci0000:00/0000:00:18.1
/sys/kernel/iommu_groups/11/devices/0000:00:18.2 -> ../../../../devices/pci0000:00/0000:00:18.2
/sys/kernel/iommu_groups/11/devices/0000:00:18.3 -> ../../../../devices/pci0000:00/0000:00:18.3
/sys/kernel/iommu_groups/11/devices/0000:00:18.4 -> ../../../../devices/pci0000:00/0000:00:18.4
/sys/kernel/iommu_groups/11/devices/0000:00:18.5 -> ../../../../devices/pci0000:00/0000:00:18.5
/sys/kernel/iommu_groups/1/devices/0000:00:02.0 -> ../../../../devices/pci0000:00/0000:00:02.0
/sys/kernel/iommu_groups/1/devices/0000:00:02.1 -> ../../../../devices/pci0000:00/0000:00:02.1
/sys/kernel/iommu_groups/1/devices/0000:01:00.0 -> ../../../../devices/pci0000:00/0000:00:02.1/0000:01:00.0
/sys/kernel/iommu_groups/1/devices/0000:01:00.1 -> ../../../../devices/pci0000:00/0000:00:02.1/0000:01:00.1
/sys/kernel/iommu_groups/2/devices/0000:00:03.0 -> ../../../../devices/pci0000:00/0000:00:03.0
/sys/kernel/iommu_groups/2/devices/0000:00:03.1 -> ../../../../devices/pci0000:00/0000:00:03.1
/sys/kernel/iommu_groups/2/devices/0000:02:00.0 -> ../../../../devices/pci0000:00/0000:00:03.1/0000:02:00.0
/sys/kernel/iommu_groups/3/devices/0000:00:04.0 -> ../../../../devices/pci0000:00/0000:00:04.0
/sys/kernel/iommu_groups/4/devices/0000:00:10.0 -> ../../../../devices/pci0000:00/0000:00:10.0
/sys/kernel/iommu_groups/4/devices/0000:00:10.1 -> ../../../../devices/pci0000:00/0000:00:10.1
/sys/kernel/iommu_groups/5/devices/0000:00:11.0 -> ../../../../devices/pci0000:00/0000:00:11.0
/sys/kernel/iommu_groups/6/devices/0000:00:12.0 -> ../../../../devices/pci0000:00/0000:00:12.0
/sys/kernel/iommu_groups/6/devices/0000:00:12.2 -> ../../../../devices/pci0000:00/0000:00:12.2
/sys/kernel/iommu_groups/7/devices/0000:00:13.0 -> ../../../../devices/pci0000:00/0000:00:13.0
/sys/kernel/iommu_groups/7/devices/0000:00:13.2 -> ../../../../devices/pci0000:00/0000:00:13.2
/sys/kernel/iommu_groups/8/devices/0000:00:14.0 -> ../../../../devices/pci0000:00/0000:00:14.0
/sys/kernel/iommu_groups/8/devices/0000:00:14.2 -> ../../../../devices/pci0000:00/0000:00:14.2
/sys/kernel/iommu_groups/8/devices/0000:00:14.3 -> ../../../../devices/pci0000:00/0000:00:14.3
/sys/kernel/iommu_groups/9/devices/0000:00:14.4 -> ../../../../devices/pci0000:00/0000:00:14.4
/sys/kernel/iommu_groups/9/devices/0000:03:06.0 -> ../../../../devices/pci0000:00/0000:00:14.4/0000:03:06.0
win8.1pro machine:
#!/bin/bash

qemu="/usr/bin/qemu-system-x86_64"

nic="virtio"

gen_macaddr() {
    printf 'de:ad:%02x:%02x:%02x:%02x\n' $((random%256)) $(($$%256)) $(($$/256%256)) $(($1))
}

macaddr0=$(gen_macaddr 10)
echo "macaddr0: ${macaddr0}"

${qemu} \
    -enable-kvm \
    -m 5120 \
    -machine q35,accel=kvm \
    -cpu host,hv_relaxed,hv_vapic,hv_spinlocks=0x1000,hv_vendor_id=fucknvidia,kvm=off \
    -smp 4,sockets=1,cores=4,threads=1 \
    -realtime mlock=off -rtc base=localtime \
    -drive if=pflash,format=raw,readonly,file=/mnt/vm/ovmf/ovmf-pure-efi.fd \
    -drive if=pflash,format=raw,file=/mnt/vm/ovmf/ovmf_vars-pure-efi.fd \
    -net nic,vlan=0,macaddr=de:ad:b2:bf:78:0a,model=virtio -net bridge,vlan=0 \
    -device vfio-pci,host=01:00.0,multifunction=on,romfile=/mnt/vm/img/gt218_updgop.rom,x-vga=on \
    -device vfio-pci,host=01:00.1 \
    -device vfio-pci,host=03:06.0 \
    -device virtio-scsi-pci,id=scsi \
    -drive file=/dev/sdd,media=disk,if=virtio,id=c,format=raw,cache=none,aio=native \
    -nodefaults \
    -vga none \

OVMF pure non hybrid EFI: ovmf-pure-efi.fd + ovmf_vars-pure-efi.fd