From nobody Thu Dec 18 23:38:46 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=1657181374; cv=none; d=zohomail.com; s=zohoarc; b=aSk3+LdAgizqqq14idXO5OKnayo7h6BJuIctHMbOiCjT7BV/ceGEn7F7pfmDi1XvbXdPfg3nBorDjdK6zvWA6WHgHunxZDpTTB7vrgW3iM1bU0SqmQfvLCijgUvvbW+Hsf6jyQrBiXg89Ak9O/gvCV/6Zled2X3XEU2I0fvWaa8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1657181374; 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=Lb02Zao7ZfGS2GKoxxaDVMTqi+ys9erL6eopfgoaY+Q=; b=RiAVz8ig946jOumtoVjQMHPKKYPDgM0vD5FUvk/L1kar+7hH4FscSXtxtDBeGlV3I0Pr/pnQQX9TiJal/bnWu0Hm6pcv+9uPx+oj6vvBI0duzVAjEY0pBaoe6JxbOsfoYX7iW4m5H5Z5lp+rnJ2UCr67ECd9SsyFcZbH/1Rnzzs= 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 1657181374905581.5498643535849; Thu, 7 Jul 2022 01:09:34 -0700 (PDT) Received: from localhost ([::1]:40070 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o9MZp-0001XT-Ol for importer@patchew.org; Thu, 07 Jul 2022 04:09:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52412) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o9MLj-0002xR-0Z for qemu-devel@nongnu.org; Thu, 07 Jul 2022 03:54:59 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:46694) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o9MLg-0007Xo-TO for qemu-devel@nongnu.org; Thu, 07 Jul 2022 03:54:58 -0400 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-352-kmWVM0AIMlKX1PeaB5sduQ-1; Thu, 07 Jul 2022 03:54:47 -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 F26FF101A586; Thu, 7 Jul 2022 07:54:46 +0000 (UTC) Received: from thuth.com (unknown [10.39.193.84]) by smtp.corp.redhat.com (Postfix) with ESMTP id 068F540CFD0A; Thu, 7 Jul 2022 07:54:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1657180496; 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=Lb02Zao7ZfGS2GKoxxaDVMTqi+ys9erL6eopfgoaY+Q=; b=RuVipyjqJ3QpxERnkTOkvZkgJu3GNJx+4/VQ32VbnPWFeFosq/cxwWhsrl4UEOKv+DKOnB i4sZK9WR5AqfVUjW2X4doTflpPX8cwwDsTEgwm//Q53swLfl/ys72rclVCWAY1kxjnR+dq 1LrcHMgnd79uxvuWmh10qr9I58ahLR8= X-MC-Unique: kmWVM0AIMlKX1PeaB5sduQ-1 From: Thomas Huth To: qemu-devel@nongnu.org, Richard Henderson Cc: qemu-s390x@nongnu.org Subject: [PULL 11/18] pc-bios/s390-ccw/virtio-blkdev: Request the right feature bits Date: Thu, 7 Jul 2022 09:54:19 +0200 Message-Id: <20220707075426.1163210-12-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.133.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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: 1657181375800100001 Content-Type: text/plain; charset="utf-8" The virtio-blk code uses the block size and geometry fields in the config area. According to the virtio-spec, these have to be negotiated with the right feature bits during initialization, otherwise they might not be available. QEMU is so far very forgiving and always provides them, but we should not rely on this behavior, so let's better request them properly via the VIRTIO_BLK_F_GEOMETRY and VIRTIO_BLK_F_BLK_SIZE feature bits. Message-Id: <20220704111903.62400-11-thuth@redhat.com> Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/virtio-blkdev.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pc-bios/s390-ccw/virtio-blkdev.c b/pc-bios/s390-ccw/virtio-blk= dev.c index c175b66a47..8271c47296 100644 --- a/pc-bios/s390-ccw/virtio-blkdev.c +++ b/pc-bios/s390-ccw/virtio-blkdev.c @@ -13,6 +13,9 @@ #include "virtio.h" #include "virtio-scsi.h" =20 +#define VIRTIO_BLK_F_GEOMETRY (1 << 4) +#define VIRTIO_BLK_F_BLK_SIZE (1 << 6) + static int virtio_blk_read_many(VDev *vdev, ulong sector, void *load_addr, int sec_num) { @@ -223,6 +226,7 @@ int virtio_blk_setup_device(SubChannelId schid) { VDev *vdev =3D virtio_get_device(); =20 + vdev->guest_features[0] =3D VIRTIO_BLK_F_GEOMETRY | VIRTIO_BLK_F_BLK_S= IZE; vdev->schid =3D schid; virtio_setup_ccw(vdev); =20 --=20 2.31.1