From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754268Ab1K3NNA (ORCPT ); Wed, 30 Nov 2011 08:13:00 -0500 Received: from mail-ey0-f174.google.com ([209.85.215.174]:63676 "EHLO mail-ey0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752067Ab1K3NM5 (ORCPT ); Wed, 30 Nov 2011 08:12:57 -0500 Message-ID: <1322658763.3985.4.camel@lappy> Subject: Re: [PATCHv3 RFC] virtio-pci: flexible configuration layout From: Sasha Levin To: Rusty Russell Cc: "Michael S. Tsirkin" , lkml - Kernel Mailing List , Alexey Kardashevskiy , Amit Shah , Christian Borntraeger , Krishna Kumar , Pawel Moll , Wang Sheng-Hui , virtualization@lists.linux-foundation.org, kvm@vger.kernel.org Date: Wed, 30 Nov 2011 15:12:43 +0200 In-Reply-To: <87pqgats49.fsf@rustcorp.com.au> References: <20111122183621.GA5235@redhat.com> <87hb1v1scp.fsf@rustcorp.com.au> <20111123084640.GE22734@redhat.com> <87ty5uxso3.fsf@rustcorp.com.au> <20111124070728.GH29994@redhat.com> <87vcq5t69c.fsf@rustcorp.com.au> <1322471731.3577.10.camel@lappy> <87pqgats49.fsf@rustcorp.com.au> Content-Type: text/plain; charset="us-ascii" X-Mailer: Evolution 3.2.2 Content-Transfer-Encoding: 7bit Mime-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2011-11-30 at 10:10 +1030, Rusty Russell wrote: > On Mon, 28 Nov 2011 11:15:31 +0200, Sasha Levin wrote: > > On Mon, 2011-11-28 at 11:25 +1030, Rusty Russell wrote: > > > I'd like to see kvmtools remove support for legacy mode altogether, > > > but they probably have existing users. > > > > While we can't simply remove it right away, instead of mixing our > > implementation for both legacy and new spec in the same code we can > > split the virtio-pci implementation into two: > > > > - virtio/virtio-pci-legacy.c > > - virtio/virtio-pci.c > > > > At that point we can #ifdef the entire virtio-pci-legacy.c for now and > > remove it at the same time legacy virtio-pci is removed from the kernel. > > Hmm, that might be neat, but we can't tell the driver core to try > virtio-pci before virtio-pci-legacy, so we need detection code in both > modules (and add a "force" flag to virtio-pci-legacy to tell it to > accept the device even if it's not a legacy-only one). I was thinking more in the direction of fallback code in virtio-pci.c to virtio-pci-legacy.c. Something like: #ifdef VIRTIO_PCI_LEGACY [Create BAR0 and map it to virtio-pci-legacy.c] #endif So BAR0 isn't defined as long as legacy code is there, which makes falling back to legacy pretty simple. -- Sasha.