From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43748) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1afjfT-0005n0-5b for qemu-devel@nongnu.org; Tue, 15 Mar 2016 03:45:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1afjfO-0003H6-63 for qemu-devel@nongnu.org; Tue, 15 Mar 2016 03:45:27 -0400 Received: from mx1.redhat.com ([209.132.183.28]:57690) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1afjfO-0003Ge-0b for qemu-devel@nongnu.org; Tue, 15 Mar 2016 03:45:22 -0400 Date: Tue, 15 Mar 2016 09:45:18 +0200 From: "Michael S. Tsirkin" Message-ID: <20160315093529-mutt-send-email-mst@redhat.com> References: <1457974531-8768-1-git-send-email-minyard@acm.org> <20160315085654-mutt-send-email-mst@redhat.com> <1458025488.13231.20.camel@redhat.com> <20160315091411-mutt-send-email-mst@redhat.com> <1458027249.13231.27.camel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1458027249.13231.27.camel@redhat.com> Subject: Re: [Qemu-devel] [PATCH v2] Sort the fw_cfg file list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann Cc: Paolo Bonzini , qemu-devel@nongnu.org, minyard@acm.org, Corey Minyard On Tue, Mar 15, 2016 at 08:34:09AM +0100, Gerd Hoffmann wrote: > On Di, 2016-03-15 at 09:17 +0200, Michael S. Tsirkin wrote: > > On Tue, Mar 15, 2016 at 08:04:48AM +0100, Gerd Hoffmann wrote: > > > Hi, > > > > > > > > Don't add a new machine type in this version, just use the 2.6 one. > > > > > > > > Unfortunately this patch won't help any, as your next patch reorders fw > > > > cfg files which will affect the old machine types. > > > > > > We can make that depend on dont_sort_fw_cfgs too, to keep things as-is > > > on old machine types. > > > > Yes, except the name is a bit off then. It's more "legacy_fw_cfg_order" > > than "dont_sort_fw_cfgs". > > > > > Which probably implies only new machine types > > > will see the new smbios entries. > > > > > > cheers, > > > Gerd > > > > Not really I think. > > If there's a new device triggering a new smbios entry, we don't care how > > it's sorted since by then there's no question of cross-version migration > > with old QEMU. > > As I understand things the smbios fw_cfg file must be created later to > make new entries (created by devices) are actually visible. So we can > make that initialization order change depend on dont_sort_fw_cfgs (or > legacy_fw_cfg_order) too. That way we maintain the ordering for old > machine types. Yes. > But old machine types then will also not see the entries > added by devices. Which isn't a problem I think, old qemu versions > don't have support for that device in the first place ... Depends on how you code it up. We have a list, we look each file there and sort accordingly. Fine. New devices will not be on this list, I guess you can just ignore them and guests will not see them. OK but I think it is better to make old machine types see them. It's trivially easy and more user-friendly. Simply sort anything that is not on the list alphabetically and add it at the end. > Corey, can you please send all this in a patch series? This should make > those dependencies more clear ... > > thanks, > Gerd > > > So like this: fw_cfg_find(a) { for (index = 0; index < fw_cfg_legacy_array_size; ++index) if (!strcmp(a, ...)) break; return index; } fw_cfg_cmp(a, b) { in cmp; if (legacy_fw_cfg_order) { int list1 = find(a); int list2 = find(b); if (list1 < list2) return -1; if (list1 > list2) return 1; } return strcmp(a, b); } This way anything not on list is sorted, with !legacy_fw_cfg_order list is assumed empty. -- MST