From nobody Fri Dec 19 06:16:24 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1657181024; cv=none; d=zohomail.com; s=zohoarc; b=OD/TaW7Qzz5e3ll6WHkTSBtWq/VM1+ss0rlr+0KOcnnsv3Zq5HjnxJRAAb/FZ2qVLf0PXGZmK2nBFnglBJ1pgZ8AFB3bpE2Uy1IBAg+WsJYuyoG4Tob9o/VzJs7qzP1XAfucNDRZDCnpTbahqy5EmwvZs6ltjFxh2eqBvr/SC6E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1657181024; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=LVtlGETNQAE4Io3WeIVdVnBkkrYlbv0/vl0yRdGNvK0=; b=Q5xpcjjYhcw1ulTnkCiaD9NVUuCRZKJ/jw9dbU6KG+rHxfZ/xnKL08Xp9cJWOJCU8YB7esZOtPxbud5vMQeucFJFCywiINozzXv3IIF+YfUbsK7wq3ke25/heB9iFvKQqktEuYLBv5EkRxEO+X3rdWgrUY3IMpEw/2qpOr1AZhM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1657181024016285.16416201052573; Thu, 7 Jul 2022 01:03:44 -0700 (PDT) Received: from localhost ([::1]:60000 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o9MUA-0004BM-CR for importer@patchew.org; Thu, 07 Jul 2022 04:03:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52268) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o9MLY-0002hp-Rb for qemu-devel@nongnu.org; Thu, 07 Jul 2022 03:54:48 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:27118) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o9MLX-0007VN-3j for qemu-devel@nongnu.org; Thu, 07 Jul 2022 03:54:48 -0400 Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-297-uA8GtrfTNWaiFLwKI2zA9g-1; Thu, 07 Jul 2022 03:54:43 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id F40BF2999B21; Thu, 7 Jul 2022 07:54:42 +0000 (UTC) Received: from thuth.com (unknown [10.39.193.84]) by smtp.corp.redhat.com (Postfix) with ESMTP id CF35740CF8E5; Thu, 7 Jul 2022 07:54:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1657180486; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LVtlGETNQAE4Io3WeIVdVnBkkrYlbv0/vl0yRdGNvK0=; b=KNtiBg4uA/6UcTYTOQO3KZmDlIJvnOYklp3cu2eyhjTu7fmaqtLGRjSwUf3lH4dFMR75J0 RuJE8NfmMhieuVBJQaJ9N2OU99WS5Km+iB8QqUnfF2+vHEOfcL+g2uslRF20HknPn7jaIt 3C6fknEi77JqFzSjdrD61p9VE2YwKDg= X-MC-Unique: uA8GtrfTNWaiFLwKI2zA9g-1 From: Thomas Huth To: qemu-devel@nongnu.org, Richard Henderson Cc: qemu-s390x@nongnu.org, Eric Farman , Cornelia Huck Subject: [PULL 08/18] pc-bios/s390-ccw/virtio: Read device config after feature negotiation Date: Thu, 7 Jul 2022 09:54:16 +0200 Message-Id: <20220707075426.1163210-9-thuth@redhat.com> In-Reply-To: <20220707075426.1163210-1-thuth@redhat.com> References: <20220707075426.1163210-1-thuth@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 2.84 on 10.11.54.1 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1657181025245100001 Content-Type: text/plain; charset="utf-8" Feature negotiation should be done first, since some fields in the config area can depend on the negotiated features and thus should rather be read afterwards. While we're at it, also adjust the error message here a little bit (the code is nowadays used for non-block virtio devices, too). Message-Id: <20220704111903.62400-8-thuth@redhat.com> Reviewed-by: Eric Farman Reviewed-by: Cornelia Huck Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/virtio.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pc-bios/s390-ccw/virtio.c b/pc-bios/s390-ccw/virtio.c index 4e85a2eb82..d8c2b52710 100644 --- a/pc-bios/s390-ccw/virtio.c +++ b/pc-bios/s390-ccw/virtio.c @@ -262,10 +262,6 @@ void virtio_setup_ccw(VDev *vdev) rc =3D run_ccw(vdev, CCW_CMD_WRITE_STATUS, &status, sizeof(status), fa= lse); IPL_assert(rc =3D=3D 0, "Could not write DRIVER status to host"); =20 - IPL_assert( - run_ccw(vdev, CCW_CMD_READ_CONF, &vdev->config, cfg_size, false) = =3D=3D 0, - "Could not get block device configuration"); - /* Feature negotiation */ for (i =3D 0; i < ARRAY_SIZE(vdev->guest_features); i++) { feats.features =3D 0; @@ -278,6 +274,9 @@ void virtio_setup_ccw(VDev *vdev) IPL_assert(rc =3D=3D 0, "Could not set features bits"); } =20 + rc =3D run_ccw(vdev, CCW_CMD_READ_CONF, &vdev->config, cfg_size, false= ); + IPL_assert(rc =3D=3D 0, "Could not get virtio device configuration"); + for (i =3D 0; i < vdev->nr_vqs; i++) { VqInfo info =3D { .queue =3D (unsigned long long) ring_area + (i * VIRTIO_RING_S= IZE), --=20 2.31.1