From: Neo Jia <cyclonusj@gmail.com>
To: liu pf <kernelfans@gmail.com>
Cc: kvm@vger.kernel.org
Subject: Re: :could anyone give me some instruction for KVM pci driver? Thanks
Date: Thu, 18 Aug 2011 17:52:12 -0700 [thread overview]
Message-ID: <20110819005212.GB28702@gmail.com> (raw)
In-Reply-To: <CAFgQCTvHCXOOFV6XZ+kZfb72A6_v5+0GKZ0RXgt5-qaot4Ypnw@mail.gmail.com>
On Wed, Aug 17, 2011 at 04:48:52PM +0800, liu pf wrote:
> Hi guys,
>
> After objdump the driver, I found that the access to the pci-memmap
> register was optimized by GCC, and no code was generated.
> And the EPT in 2.6.39 is fine.
Are you registering a callback function for the register range you are going to
monitor on QEMU? You will see a VM_EXIT, which then trigger a mmio access from
KVM.
Thanks,
CJ
>
> Thanks,
> Pierce
>
>
> On Fri, Aug 12, 2011 at 4:33 PM, liu pf <kernelfans@gmail.com> wrote:
> > 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
> >
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2011-08-19 0:54 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-12 8:33 [KVM]:could anyone give me some instruction for KVM pci driver? Thanks liu pf
2011-08-17 8:48 ` :could " liu pf
2011-08-19 0:52 ` Neo Jia [this message]
2011-08-19 9:11 ` pingfan liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110819005212.GB28702@gmail.com \
--to=cyclonusj@gmail.com \
--cc=kernelfans@gmail.com \
--cc=kvm@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.