From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christian Borntraeger Subject: Re: RFC/patch portability: split kvm_vm_ioctl v3 Date: Mon, 5 Nov 2007 11:31:18 +0100 Message-ID: <200711051131.18641.borntraeger@de.ibm.com> References: <1192192452.7630.16.camel@cotte.boeblingen.de.ibm.com> <472EE682.9000202@de.ibm.com> <200711051104.01061.arnd@arndb.de> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: Martin Schwidefsky , Avi Kivity , "Zhang, Xiantao" , Hollis Blanchard To: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org, cotte-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org Return-path: In-Reply-To: <200711051104.01061.arnd-r2nGTMty4D4@public.gmane.org> Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org Am Montag, 5. November 2007 schrieb Arnd Bergmann: > Read again what I wrote above. I'm suggesting to have just one external > interrupt for virtio and use the generic IRQ abstraction to handle > everything that comes below that. So you basically suggest to implement wrapper code around extint and lowcore memory to be able to use request_irq/free_irq? > > Plus I don't see a benefit from pretending to have an interrupt > > controller: virtio abstracts from this, and can well be implemented > > over extint and hypercall like Christian has done it. What's the > > problem you're trying to solve? > > Sorry, I can't find Christian's code right now, do you have a pointer > to the patches? The code was only used for our prototype hypervisor. I never posted these virtio patches as Rusty was quicker in changing virtio than I was able to re-add them to our prototype code. ;-) > I suspect that he has done exactly what I was trying to explain, except > that the implementation is not using the generic IRQ layer, which means > you're duplicating some of the code. I used one external interrupt and I reserved an area in lowcore for a 64bit extint parameter. (I use the same address as z/VM for the PFAULT token). I defined a hypercall in which the guest could specify this 64bit value for a given virtqueue. That allowed me to get the virtqueue pointer without looking it up in the list of (maybe many) virtqueues. Christian ------------------------------------------------------------------------- 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/