intel / KVMGT-kernel

Other
41 stars 20 forks source link

Can't setup qemu in centos #11

Closed maqiangddb closed 9 years ago

maqiangddb commented 9 years ago

My test Eviroment: software: Centos 7 for Host hardware:

you can see this info:

[mq@localhost ~]$ cat /var/log/dmesg | grep vGT [ 0.393923] vGT info:(vgt_set_device_type:441) Detected Haswell [ 0.409614] vGT: GMBUS2 init value: 0, 800 [ 0.409846] vGT info:(initialize_gm_fence_allocation_bitmaps:313) total aperture: 0x10000000 bytes, total GM space: 0x80000000 bytes [ 0.409901] vGT info:(initialize_gm_fence_allocation_bitmaps:334) reserved aperture: [0xdf800000, 0xe0000000) [ 0.409918] vGT: setup tracked reg info [ 0.410421] vGT info:(create_vgt_instance:118) vm_id=0, low_gm_sz=120MB, high_gm_sz=384MB, fence_sz=4, vgt_primary=1 [ 0.410967] vGT info:(create_vgt_instance:171) Virtual GTT size: 0x200000 [ 0.411443] vGT info:(create_vgt_instance:207) aperture: [0xd0000000, 0xd77fffff] guest [0xd0000000, 0xd77fffff] va(0xffffc90005500000) [ 0.411516] vGT info:(create_vgt_instance:218) GM: [0x0, 0x77fffff], [0x10000000, 0x27ffffff], guest[0x0, 0x77fffff], [0x10000000, 0x27ffffff] [ 0.412422] vGT info:(create_vgt_instance:255) filling VGT_PVINFO_PAGE for dom0: [ 0.412453] vGT(0): create debugfs node: virtual_mmio_space [ 0.412481] vGT(0): create debugfs node: shadow_mmio_space [ 0.412510] vGT(0): create debugfs node: frame_buffer_format [ 0.412538] vGT(0): create debugfs node: frame_buffer_format [ 0.412599] vGT: clear all GTT entries. [ 0.442421] vGT: allocate vGT aperture [ 0.462504] vGT: start kthread for dev (0, 10) [ 0.462839] vGT warning:(fpga_dbg_mmio_write:2192) VM 0 writes FPGA_DBG register: 80000000. [ 0.471934] vGT: found matching pgt_device when registering irq for dev (0x10) [ 0.472004] vGT: allocate virq (-1) for i915, while keep original irq (16) for vgt [ 0.472020] vGT: track_nest: enabled [ 0.478783] vGT info:(vga_control_w:1732) VM(0): Disable VGA mode 80000000 [ 0.479363] vGT info:(vgt_handle_default_event_phys:822) IRQ: receive event (AUX Channel B) [ 0.479419] vGT info:(vgt_handle_default_event_virt:693) IRQ: VM(0) receive event (AUX Channel B) [ 0.505123] vGT: activate vgt (0) on ring (0) [ 0.505143] vGT-0: add to render run queue! [ 0.517078] vGT: activate vgt (0) on ring (1) [ 0.517147] vGT: activate vgt (0) on ring (2) [ 0.517223] vGT: activate vgt (0) on ring (3) [ 0.517449] vGT info:(vgt_setup_ppgtt:657) vgt_setup_ppgtt on vm 0: PDE base 0x27e00000 [ 0.527702] vGT info:(vgt_handle_default_event_phys:822) IRQ: receive event (Gmbus) [ 0.527752] vGT info:(vgt_handle_default_event_virt:693) IRQ: VM(0) receive event (Gmbus) [ 0.914355] vGT info:(vgt_handle_default_event_phys:822) IRQ: receive event (Primary Plane A flip done) [ 0.914414] vGT info:(vgt_handle_default_event_virt:693) IRQ: VM(0) receive event (Primary Plane A flip done) [ 1.138649] vGT info:(vgt_handle_default_event_phys:822) IRQ: receive event (GSE)

[ 1.138711] vGT info:(vgt_handle_default_event_virt:693) IRQ: VM(0) receive event (GSE)

The KVMGT-kernel works find for centos 7, right?
After that, I compiled qemu followed README.kvmgt. and run qemu-system-x86_64
this fail happened in /proc/kmsg:

qemu-system-x86[14179]: segfault at 404 ip 00007fe9b23b0778 sp 00007fffb9c25530 error 4 in qemu-system-x86_64[7fe9b207f000+895000]

I found the runing flow stop in kvm-all.c file of project KVMGT-qemu, stop in function vgt_opregion_init-->kvm_vm_ioctl.

My question is: 1 What mistake I made cause this problem? 2 What the sample enviroment of project KVMGT do you suggest? 3 Does KVMGT only support Intel display card?

Thank you very much!

maqiangddb commented 9 years ago

more info: $ lspci 00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Controller (rev 06) 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06) 00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06) 00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06) 00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05) 00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04) 00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05) 00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05) 00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5) 00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5) 00:1c.4 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #5 (rev d5) 00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05) 00:1f.0 ISA bridge: Intel Corporation B85 Express LPC Controller (rev 05) 00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode](rev 05) 00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05) 03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 09) 04:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650](rev a1) 04:00.1 Audio device: NVIDIA Corporation GK107 HDMI Audio Controller (rev a1)

qemu run command: sudo x86_64-softmmu/qemu-system-x86_64 -bios roms/seabios/out/bios.bin -m 1024 -M pc -smp 2 -cpu SandyBridge -machine kernel_irqchip=on -vgt -vga vgt

l1viathan commented 9 years ago

Why -cpu SandyBridge?

maqiangddb commented 9 years ago

when I use -cpu host follow README.kvmgt , error happend : Unable to find CPU definition: host. I don't know what -cpu mean? what should I use in -cpu?

l1viathan commented 9 years ago

I think your qemu command didn't even enable the KVM support, you may want to add " -enable-kvm -cpu host" and have a try.

maqiangddb commented 9 years ago

@jonsmirl Thank you in advance! The problem is caused by missing "-enable-kvm"

and What the sample enviroment do you suggest?

l1viathan commented 9 years ago

2 What the sample enviroment of project KVMGT do you suggest?

The guest needs some patches, you can build the same kernel for host and it will work, and you can also have a look at our guest patches:

http://lists.freedesktop.org/archives/intel-gfx/2014-October/053687.html

3 Does KVMGT only support Intel display card?

So far yes.

maqiangddb commented 9 years ago

@jonsmirl Thank you very much! I suggest add '-enable-kvm' in README.kvmgt. I think other people will face the same problem.