From: Ajith Chandran <aji007-BoNl9JPmOHUAvxtiuMwx3w@public.gmane.org>
To: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: DOR : Example for injecting the interrupt to the guest
Date: Tue, 7 Aug 2007 13:24:38 -0800 [thread overview]
Message-ID: <70D70ACF764.00000809aji007@inbox.com> (raw)
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/
next reply other threads:[~2007-08-07 21:24 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-07 21:24 Ajith Chandran [this message]
[not found] ` <70D70ACF764.00000809aji007-BoNl9JPmOHUAvxtiuMwx3w@public.gmane.org>
2007-08-07 21:53 ` DOR : Example for injecting the interrupt to the guest 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
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=70D70ACF764.00000809aji007@inbox.com \
--to=aji007-bonl9jpmohuavxtiumwx3w@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.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.