From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53632) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dtuyh-0000pq-P2 for qemu-devel@nongnu.org; Mon, 18 Sep 2017 08:16:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dtuyb-0000jf-M9 for qemu-devel@nongnu.org; Mon, 18 Sep 2017 08:16:43 -0400 Received: from mx1.redhat.com ([209.132.183.28]:55502) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dtuyb-0000iV-DV for qemu-devel@nongnu.org; Mon, 18 Sep 2017 08:16:37 -0400 Date: Mon, 18 Sep 2017 14:16:29 +0200 From: Cornelia Huck Message-ID: <20170918141629.31de16de.cohuck@redhat.com> In-Reply-To: <2e19455c-2af8-dad4-febb-c65e1e7d7a3c@redhat.com> References: <20170918085542.13265-1-cohuck@redhat.com> <33493193-b9fc-e76f-f30e-c23d68e34289@redhat.com> <20170918141127.17b669a7.cohuck@redhat.com> <2e19455c-2af8-dad4-febb-c65e1e7d7a3c@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v3] s390x/ccw: create s390 phb for compat reasons as well List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: David Hildenbrand Cc: qemu-devel@nongnu.org, borntraeger@de.ibm.com, agraf@suse.de, thuth@redhat.com, pmorel@linux.vnet.ibm.com, zyimin@linux.vnet.ibm.com, pasic@linux.vnet.ibm.com On Mon, 18 Sep 2017 14:13:07 +0200 David Hildenbrand wrote: > On 18.09.2017 14:11, Cornelia Huck wrote: > > On Mon, 18 Sep 2017 14:03:20 +0200 > > David Hildenbrand wrote: > > > >> On 18.09.2017 10:55, Cornelia Huck wrote: > >>> d32bd032d8 ("s390x/ccw: create s390 phb conditionally") made > >>> registering the s390 pci host bridge conditional on presense > >>> of the zpci facility bit. Sadly, that breaks migration from > >>> machines that did not use the cpu model (2.7 and previous). > >>> > >>> Create the s390 phb for pre-cpu model machines as well: We can > >>> tweak s390_has_feat() to always indicate the zpci facility bit > >>> when no cpu model is available (on 2.7 and previous compat machines). > >>> > >>> Fixes: d32bd032d8 ("s390x/ccw: create s390 phb conditionally") > >>> Acked-by: Christian Borntraeger > >>> Signed-off-by: Cornelia Huck > >>> --- > >>> > >>> v2->v3: > >>> - no longer RFC (I tested a bit more) > >>> - removed unrelated hunk > >>> - more verbose patch description > >>> > >>> I'll wait a bit for more acks/reviews and will probably send a pull > >>> request for s390x tomorrow or so before the amount of queued patches > >>> gets out of hand... > >>> > >>> --- > >>> target/s390x/cpu_models.c | 3 +++ > >>> 1 file changed, 3 insertions(+) > >>> > >>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c > >>> index c295e641e6..5169379db5 100644 > >>> --- a/target/s390x/cpu_models.c > >>> +++ b/target/s390x/cpu_models.c > >>> @@ -196,6 +196,9 @@ bool s390_has_feat(S390Feat feat) > >>> } > >>> } > >>> #endif > >>> + if (feat == S390_FEAT_ZPCI) { > >>> + return true; > >>> + } > >>> return 0; > >>> } > >>> return test_bit(feat, cpu->model->features); > >>> > >> > >> 1. cpu->model will always be set for QEMU, so you can move that into the > >> ifdef, next do the other checks. You can even send a cleanup to remove > >> the if (kvm_enabled()) check. > > > > I prefer it the way it is now. There's nothing kvm specific about that > > bit, and cpu->model always being set is not really obvious. > > > > I's already kvm specific as this can never happen with TCG :) > > But whatever you prefer. This is good enough to fix the problem. Sure, we can revisit that one later. I plan to send a pull request tomorrow.