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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox