[KVM]:could anyone give me some instruction for KVM pci driver? Thanks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi guys,

When I develop a PCI device driver for qemu-kvm, I am suffering from
some problem, Could anyone give me some instruction? Thanks :)

My solution consists of two parts:  emulated PCI device in Qemu and
corresponding PCI device driver in guest OS.
The emulated  device has a PCI -memmap registers. So as expected, when
the guest device driver wrote this area, we will capture such event in
Qemu.
But it failed to do so. After tracing the host kernel, I found that
 1. my guest PCI device driver had claimed the gpa from
pci_dev->resource[0].start=0xf0050000 to resource[0].end=0xf00500ff
and succeed to ioremap
 2. In host kernel,  I added "printk" after
handle_ept_violation(struct kvm_vcpu *vcpu) {gpa
=vmcs_read64(GUEST_PHYSICAL_ADDRESS); printk(..);}
    BUT, when guest wrote this "ioremap" area, the host did NOT hit
the region [0xf0050000,0xf00500ff]


I had thought that when accessing the emulated device, the gva ->gpa
has been set up by guest, so EPT violation will be the only reason
which caused guest exit .  And the event will be finally passed to the
user mode--qemu.  Am I right?

And the most important is what I can do for the next step?

BTW, I am sure that "kvm_enable_tdp". and kernel is 2.6.39, for config
file, pls see attachment.


Thanks,
Pierce

Attachment: config.gz
Description: GNU Zip compressed data


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux