All of lore.kernel.org
 help / color / mirror / Atom feed
* DOR : Example for injecting the interrupt to the guest
@ 2007-08-07 21:24 Ajith Chandran
       [not found] ` <70D70ACF764.00000809aji007-BoNl9JPmOHUAvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Ajith Chandran @ 2007-08-07 21:24 UTC (permalink / raw)
  To: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

Hello Dor,

Can you please point to an example that injects interrupts via userspace ?

I am running QNX as Guest and Linux as Host. One of my QNX application (Guest application), expects an interrupt from the Hardware. 

Now as I understand this, I need to write a driver on the host side to get the interrupt and somehow inject the interrupt to guest OS. But I am not sure how to signal the KVM about the arrival of interrupt, without breaking anything.

Ghaskins, suggested your name in kvm-irc. I have pasted relevant part of it for your reference.

Your early response will be highly appreciated,

Thanking you 

Aji

10:36 < aji003> the virtual driver is a part of kvm...and so it runs in the host
10:36 < ghaskins> ok, so yes you are correct
10:36 < ghaskins> the host side would know the real vector of the physical device and would be registered in the host IDT
10:36 < aji003> By virtual driver I mean, the driver I have developed so that the guest app can interact with the physical hardware
10:36 < ghaskins> it would then probably do something like proxy the interrupts into the guest
10:37 < ghaskins> ok, i understand you now
10:37 < ghaskins> so your proxy/virtual driver would get the real interrupt...you then would want to inject it into the guest as a virtual interrupt
10:37 < aji003> yes thatz what I wanted to do..sorry if i confused you
10:38 < ghaskins> no problem..its clear now
10:38 < ghaskins> so I assume you already know how to write your virtual driver and register it with linux with the write vector, etc
10:38 < ghaskins> ?
10:38 < ghaskins> and now you just want to know how to inject the interrupt to the guest
10:38 < aji003> I did it for I/O and memory mapping, but I am not sure about how to do for interrupt
10:41 < ghaskins> so are we on the same page:  your proxy will handle the real vector?
10:42 < aji003> KVM has a virtualised 8259 driver
10:43 < ghaskins> yeah, but that code is also in flux right now too
10:43 < ghaskins> as of right now, the interrupt infrastructure is all in userspace/QEMU
10:43 < ghaskins> its in the process of being moved down into the kernel
10:44 < ghaskins> at that point it will be much easier to inject interrupts from the kernel, which it sounds like you might need to do
10:44 < aji003> ok
10:44 < aji003> so with qemu, itz not possible ?
10:44 < ghaskins> but as a high level overview, there are emulated 8259s and APICs
10:45 < ghaskins> well, it should be possible...its just more difficult
10:45 < aji003> ok..
10:45 < ghaskins> I think Dor has written a driver that utilizes the userspace interrupt stuff as you would need to
< ghaskins> I think Dor has written a driver that utilizes the userspace interrupt stuff as you would need to
10:45 < aji003> Dor ?
10:46 < aji003> I am quite new to linux and KVM 
10:46 < ghaskins> He's one of the Qumranet guys...if he is not here on IRC just hit the list
10:46 < ghaskins> kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
10:46 < ghaskins> he can probably point you to an example of his that injects interrupts via userspace
10:46 < aji003> ok
10:47 < ghaskins> and it will all get a little simplified in a few weeks when the in-kernel stuff merges
10:47 < aji003> Thanks ghaskins

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/

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

end of thread, other threads:[~2007-08-08  7:10 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-07 21:24 DOR : Example for injecting the interrupt to the guest Ajith Chandran
     [not found] ` <70D70ACF764.00000809aji007-BoNl9JPmOHUAvxtiuMwx3w@public.gmane.org>
2007-08-07 21:53   ` Dor Laor
     [not found]     ` <64F9B87B6B770947A9F8391472E032160D17A605-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-08-08  5:06       ` Muli Ben-Yehuda
     [not found]         ` <20070808050657.GK4278-WD1JZD8MxeCTrf4lBMg6DdBPR1lH4CV8@public.gmane.org>
2007-08-08  7:03           ` Dor Laor
     [not found]             ` <64F9B87B6B770947A9F8391472E032160D17A7C0-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-08-08  7:10               ` Muli Ben-Yehuda

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.