Spoiler
BUG: unable to handle kernel NULL pointer dereference at 00000000000000b8
IP: [<ffffffff813311e1>] 0xffffffff813311e1
PGD 0
Oops: 0002 [#1] SMP
Modules linked in:
CPU: 1 PID: 329 Comm: qemu-system-x86 Not tainted 4.2.9-clfs #14
Hardware name: System manufacturer System Product Name/F2A85-M, BIOS 5104 09/28/2012
task: ffff880098384700 ti: ffff880234284000 task.ti: ffff880234284000
RIP: 0010:[<ffffffff813311e1>] [<ffffffff813311e1>] 0xffffffff813311e1
RSP: 0018:ffff880234287c98 EFLAGS: 00010002
RAX: 0000000000000000 RBX: ffff8802364db840 RCX: 00000000000000a4
RDX: 0000000000000000 RSI: ffff88023dad7098 RDI: ffff8802364db840
RBP: ffff8802364dbcc0 R08: 0000000000000000 R09: ffffffff81946799
R10: ffffffff819467aa R11: 0000000000000000 R12: ffff8802364dc658
R13: 0000000000000082 R14: ffff880234354020 R15: ffff8802364a3800
FS: 00007ff91d241a80(0000) GS:ffff88023ec80000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000000000b8 CR3: 00000002342ef000 CR4: 00000000000406e0
Stack:
ffff8802364db840 ffffffff813312a4 00000000000000ff ffff88023dad7098
ffff8802364dbcc0 ffff8802364dc600 0000000000000296 ffffffff813313e1
ffff880236600000 ffff88023d971448 ffff88023dad7098 ffff880234354020
Call Trace:
[<ffffffff813312a4>] ? 0xffffffff813312a4
[<ffffffff813313e1>] ? 0xffffffff813313e1
[<ffffffff813314e6>] ? 0xffffffff813314e6
[<ffffffff8132da45>] ? 0xffffffff8132da45
[<ffffffff8132d93a>] ? 0xffffffff8132d93a
[<ffffffff8132da21>] ? 0xffffffff8132da21
[<ffffffff8132daf8>] ? 0xffffffff8132daf8
[<ffffffff81497836>] ? 0xffffffff81497836
[<ffffffff8149520d>] ? 0xffffffff8149520d
[<ffffffff8114f525>] ? 0xffffffff8114f525
[<ffffffff8113921a>] ? 0xffffffff8113921a
[<ffffffff81141e5a>] ? 0xffffffff81141e5a
[<ffffffff8114f5dc>] ? 0xffffffff8114f5dc
[<ffffffff8168e0ae>] ? 0xffffffff8168e0ae
Code: 00 5b ff 86 b4 00 00 00 5d 41 5c e9 39 fc ff ff 53 0f b7 57 40 48 89 fb 48 8b 05 9b ba b0 00 48 8b 04 d0 48 63 50 10 48 8b 47 38 <ff> 8c 90 b8 00 00 00 48 8b 47 38 ff 88 b4 00 00 00 48 8b 17 48
RIP [<ffffffff813311e1>] 0xffffffff813311e1
RSP <ffff880234287c98>
CR2: 00000000000000b8
---[ end trace a97b2ddb0f339dd7 ]---
br0: port 1(tap0) entered forwarding state
Хостовая система - LFS сборка(linux from the sources).
Гостевая система - windows 10.
Запуск хостовой системы:
Код: Выделить всё
iommu=pt iommu=1 amd_iommu=1 amd_iommu=fullflush vfio-pci.ids=10ec:8169,1022:780d
Запуск qemu:
Spoiler
Код: Выделить всё
# VM name
VM_NAME=WIN10-x86_64
# Number of VM
VM_NUM=0
# Path to HDD image
VM_HDD_IMG=/mnt/win10-x86_64.img
# VM memory count
VM_MEM=4096
# VM network device MAC
VM_NET_MAC=$(printf 'D4:AD:BE:EF:%02X:%02X\n' $((RANDOM%255)) $((RANDOM%255)))
# CPU
# Cores count:
VM_CPU_CORES=2
# Threads (hiperthreading)
VM_CPU_THREADS=1
# Path to CDROM image
VM_CDROM_IMG=/media/dev_root/virtio-win-0.1.126.iso
# Path to network scripts {up|down}
#
VM_NET_SPATH=/media/dev_root/
VM_NET_SUP=${VM_NET_SPATH}/qemu-ifup
VM_NET_SDOWN=${VM_NET_SPATH}/qemu-ifdown
#
# Qemu run:
#
qemu-system-x86_64\
-nodefaults\
-nodefconfig\
-no-user-config\
-name ${VM_NAME} \
-enable-kvm\
-machine type=q35,accel=kvm,kernel_irqchip=on,mem-merge=off\
-hda ${VM_HDD_IMG}\
-m ${VM_MEM}M\
-cpu host,kvm=off,hv_vapic,hv_time,hv_relaxed,hv_spinlocks=0x1fff,hv_vendor_id=sugoidesu\
-smp $(expr $VM_CPU_CORES \* $VM_CPU_THREADS),cores=${VM_CPU_CORES},threads=${VM_CPU_THREADS},sockets=1\
-mem-path /dev/hugepages\
-mem-prealloc\
-device ich9-usb-uhci3,id=uhci\
-device usb-ehci,id=ehci\
-device nec-usb-xhci,id=xhci\
-usb\
-vga std\
-vnc :${VM_NUM}\
-usbdevice tablet\
-device e1000,netdev=net0,mac=${VM_NET_MAC} -netdev tap,script=${VM_NET_SUP},downscript=${VM_NET_SDOWN},id=net0\
-chardev stdio,mux=on,id=terminal\
-monitor chardev:terminal \
-realtime mlock=off \
-rtc base=localtime,clock=host,driftfix=none \
-cdrom ${VM_CDROM_IMG}\
-bios /media/dev_root/OVMF_R.fd\
-device vfio-pci,host=0000:01:05.0
lspci
01:05.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet (rev 10)
...
Kernel modules: vfio-pc
При попытке пробросить через pci-stub, так-же возникает вылет, но уже не с NULL pointer, а с ошибкой чтения устройства.