public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* Introspection API development
@ 2016-08-04  3:25 Stephen Pape
  2016-08-04  8:50 ` Paolo Bonzini
  2016-08-04 12:48 ` Stefan Hajnoczi
  0 siblings, 2 replies; 10+ messages in thread
From: Stephen Pape @ 2016-08-04  3:25 UTC (permalink / raw)
  To: kvm

Hello all,

For my own purposes, I've been modifying KVM to support introspection.
I have a project that uses Xen's "vm event" API, and I'm trying to get
things working with KVM as well. Our implementation needs to be able
to map guest memory directly. I have seen the qemu patch used by
libvmi, but they handle memory reads and writes through a socket,
which just won't work for us. I'm also looking to add other types of
hooks, and patching qemu seems too limited.

My approach involves modifying the kernel driver to export a
/dev/virt/ filesystem. I suppose I could do it all via /dev/kvm ioctls
as well.

My (relatively minor) patch allows processes besides the launching
process to do things like map guest memory and read VCPU states for a
VM. Soon, I'll be looking into adding support for handling events (cr3
writes, int3 traps, etc.). Eventually, an event should come in, a
program will handle it (while able to read memory/registers), and then
resume the VCPU.

My question is, is this anything the KVM group would be interested in
bringing upstream? I'd definitely be willing to change my approach if
necessary. If there's no interest, I'll just have to maintain my own
patches.

Any comments would be welcome.

Thanks!

-Stephen

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-08-04 15:08 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-04  3:25 Introspection API development Stephen Pape
2016-08-04  8:50 ` Paolo Bonzini
2016-08-04  8:55   ` Jan Kiszka
2016-08-04 11:18   ` Mihai Donțu
2016-08-04 12:44     ` Jan Kiszka
2016-08-04 13:57       ` Mihai Donțu
2016-08-04 12:56     ` Paolo Bonzini
2016-08-04 13:41       ` Mihai Donțu
2016-08-04 12:48 ` Stefan Hajnoczi
2016-08-04 15:08   ` Stephen Pape

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox