From nobody Sat May 18 10:30:11 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1602009240; cv=none; d=zohomail.com; s=zohoarc; b=cectOyZr71f/jJ7JT+4LTBeDJ91swysnn3BKndMPtLMZvjTN0lqsIdA4GaXjRzccBmWEVJk0fDnjPrf24vF8L7jlzYrMDuAcFJ2L4lgdbzM18sOA4kg2vNjDnp1k+KOTOoUMdI/ePHgN10qjO6jMyrAjHWxWVQWhMCc3gL2tKMI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602009240; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=Rm21lPZM1L70ZjyGFowNYjOpvCLQ+tn80dvwCPvgDgQ=; b=UD803aa1IWotSf0wV+QnOSwM2JYR7wu6C/Nes/kFJBVSJdBOpzUJVfVtBBvYW+8vXWxfkTf+SJIVuMefcGq1fS31qlLxZrTuJWnTTO1dgjUGPAiFv468irPSyjncy5txszJmdvJFUD6hPmndBScnBCLNjA7kzed4AycUqKanOh8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1602009240305334.9739578202707; Tue, 6 Oct 2020 11:34:00 -0700 (PDT) Received: from localhost ([::1]:40168 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kPrmf-0004mC-Pd for importer@patchew.org; Tue, 06 Oct 2020 14:33:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57250) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kPrkY-0002xU-PE for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:31:47 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:33649) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kPrkU-0006OF-H3 for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:31:44 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-239-SXYBLxivMeucdA-dKTgtig-1; Tue, 06 Oct 2020 14:31:35 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 21A2C18A8223; Tue, 6 Oct 2020 18:31:34 +0000 (UTC) Received: from thuth.com (ovpn-113-60.ams2.redhat.com [10.36.113.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id D224D6EF43; Tue, 6 Oct 2020 18:31:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602009100; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=Rm21lPZM1L70ZjyGFowNYjOpvCLQ+tn80dvwCPvgDgQ=; b=CuOIHmmR7S6UdriZhAnzyabLL1OJSQ4TeRgCXwTy0X4VLNWQ6cSnw//AUQReLSuKnft61x xAZ2xzoGl675OYp/VZDGY1RNWJDkVFpKn6O+nW1CoxGI9amABKmzdqjRmvz16BJIqdO8W+ 47IzoSenTzCmlvpe292g0HbpkA3AwrI= X-MC-Unique: SXYBLxivMeucdA-dKTgtig-1 From: Thomas Huth To: qemu-devel@nongnu.org, Peter Maydell Subject: [PULL 01/16] pc-bios/s390-ccw/Makefile: Compile with -std=gnu99, -fwrapv and -fno-common Date: Tue, 6 Oct 2020 20:31:07 +0200 Message-Id: <20201006183122.155609-2-thuth@redhat.com> In-Reply-To: <20201006183122.155609-1-thuth@redhat.com> References: <20201006183122.155609-1-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=thuth@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=216.205.24.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/06 00:55:20 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.733, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Christian Borntraeger , qemu-s390x@nongnu.org, Cornelia Huck , Marc Hartmayer , Janosch Frank Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" The main QEMU code is compiled with -std=3Dgnu99, -fwrapv and -fno-common. We should use the same flags for the s390-ccw bios, too, to avoid that we get different behavior with different compiler versions that changed their default settings in the course of time (it happened at least with -std=3D... and -fno-common in the past already). While we're at it, also group the other flags here in a little bit nicer fashion: Move the two "-m" flags out of the "-f" area and specify them on a separate line. Reviewed-by: Claudio Imbrenda Acked-by: Cornelia Huck Acked-by: Janosch Frank Message-Id: <20200806105349.632-2-thuth@redhat.com> Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/Makefile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile index 3eb785048a..29fd9019b8 100644 --- a/pc-bios/s390-ccw/Makefile +++ b/pc-bios/s390-ccw/Makefile @@ -30,10 +30,11 @@ OBJECTS =3D start.o main.o bootmap.o jump2ipl.o sclp.o = menu.o \ virtio.o virtio-scsi.o virtio-blkdev.o libc.o cio.o dasd-ipl.o =20 QEMU_CFLAGS :=3D -Wall $(filter -W%, $(QEMU_CFLAGS)) -QEMU_CFLAGS +=3D -ffreestanding -fno-delete-null-pointer-checks -msoft-flo= at -QEMU_CFLAGS +=3D -march=3Dz900 -fPIE -fno-strict-aliasing -QEMU_CFLAGS +=3D -fno-asynchronous-unwind-tables +QEMU_CFLAGS +=3D -ffreestanding -fno-delete-null-pointer-checks -fno-commo= n -fPIE +QEMU_CFLAGS +=3D -fwrapv -fno-strict-aliasing -fno-asynchronous-unwind-tab= les QEMU_CFLAGS +=3D $(call cc-option, $(QEMU_CFLAGS), -fno-stack-protector) +QEMU_CFLAGS +=3D -msoft-float -march=3Dz900 +QEMU_CFLAGS +=3D -std=3Dgnu99 LDFLAGS +=3D -Wl,-pie -nostdlib =20 build-all: s390-ccw.img s390-netboot.img --=20 2.18.2 From nobody Sat May 18 10:30:11 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1602009425; cv=none; d=zohomail.com; s=zohoarc; b=Yy/2sRwQYZ7o+57cqCzcaIxrmNF7P4y40JHCCWpRKRwIpQImuWJCYl5LrWx1XvFpExBG7F67U9lCj91tnYwyxrMEOXchbkFf0YJ6xnXS1QHYeESrazHGLtHK12rNTgEhmt6uud1bnsdUhoi1fA1V8/zWlYWAKUd+6AEK95zl4kE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602009425; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=sLIn+FGQAWTEZgbaO4083ah3ZttjRz20DY3Xv8EoCfE=; b=PhwEOSXuvonO2Ni4GtmRn3nrWQDK6dgym1NAyry6/n+mpRujmxXBO7ABTYlyoHHzH5UBFJs8n5F6t25kmPSdvTNFYm0ZIJud5HLUjyvrqLXnHl8V8OEmpKZiMhUr9fUZJedFAU/SkXkdj//4W/JFaBDHi1lpWbjgDE1uaRA62MM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1602009425326690.0481383111927; Tue, 6 Oct 2020 11:37:05 -0700 (PDT) Received: from localhost ([::1]:48716 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kPrpg-0008Ny-1g for importer@patchew.org; Tue, 06 Oct 2020 14:37:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57342) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kPrke-0002zt-Or for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:31:52 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:36840) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kPrkY-0006OP-GF for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:31:52 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-174-0OFCYIJtPsu7no4qLUGdOQ-1; Tue, 06 Oct 2020 14:31:38 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C526418A822F; Tue, 6 Oct 2020 18:31:36 +0000 (UTC) Received: from thuth.com (ovpn-113-60.ams2.redhat.com [10.36.113.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7E7B06EF43; Tue, 6 Oct 2020 18:31:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602009102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=sLIn+FGQAWTEZgbaO4083ah3ZttjRz20DY3Xv8EoCfE=; b=i4HJi1aU+HRUJpoP+cqLUkIP6/i4y/RETHUL1bh9iVpk4RdR5sxlAB4UJJdnwjRJUcEzPS kJs397aUwP8AR1D5aqcOcTSlxe6pDxVQu4p1MD/lKCtUQPagtMQ8FGgP2XXHSoRm2Aq1gX o2if7qaQKEcLIfr2G3TwGz5ciq7lsxA= X-MC-Unique: 0OFCYIJtPsu7no4qLUGdOQ-1 From: Thomas Huth To: qemu-devel@nongnu.org, Peter Maydell Subject: [PULL 02/16] pc-bios/s390-ccw: Move ipl-related code from main() into a separate function Date: Tue, 6 Oct 2020 20:31:08 +0200 Message-Id: <20201006183122.155609-3-thuth@redhat.com> In-Reply-To: <20201006183122.155609-1-thuth@redhat.com> References: <20201006183122.155609-1-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=thuth@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=63.128.21.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/06 01:55:55 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.733, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Christian Borntraeger , qemu-s390x@nongnu.org, Cornelia Huck , Marc Hartmayer , Janosch Frank Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Let's move this part of the code into a separate function to be able to use it from multiple spots later. Reviewed-by: Claudio Imbrenda Reviewed-by: Cornelia Huck Reviewed-by: Janosch Frank Message-Id: <20200806105349.632-3-thuth@redhat.com> Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/main.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c index 146a50760b..9b64eb0c24 100644 --- a/pc-bios/s390-ccw/main.c +++ b/pc-bios/s390-ccw/main.c @@ -223,14 +223,8 @@ static void virtio_setup(void) } } =20 -int main(void) +static void ipl_boot_device(void) { - sclp_setup(); - css_setup(); - boot_setup(); - find_boot_device(); - enable_subchannel(blk_schid); - switch (cutype) { case CU_TYPE_DASD_3990: case CU_TYPE_DASD_2107: @@ -242,8 +236,18 @@ int main(void) break; default: print_int("Attempting to boot from unexpected device type", cutype= ); - panic(""); + panic("\nBoot failed.\n"); } +} + +int main(void) +{ + sclp_setup(); + css_setup(); + boot_setup(); + find_boot_device(); + enable_subchannel(blk_schid); + ipl_boot_device(); =20 panic("Failed to load OS from hard disk\n"); return 0; /* make compiler happy */ --=20 2.18.2 From nobody Sat May 18 10:30:11 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1602009240; cv=none; d=zohomail.com; s=zohoarc; b=izja39PrXWk2SMmRA2OPsh2ECoCJU2C3JbQU+h397a/+RP6uX/Y8iVADfYrKpo5n3BSgw6evWdU7Gh4e8kKQPK/qXqGkv95lmQSSHUuxAFJdAg3/zltFl8JmiJL/qt7P9cGhadOZbYlatFijZMWo2IbiXxutYtKOi4HF9Sf1xqo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602009240; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=T6YP8hrHQXev/+boFaf2AQK9gihkEjg8LhNi5eosoCs=; b=Wp7oShf5jBvOSvChuLVgk7jWP41mhlEdy/Ttsl62m1c1ORr6obAy63K6aod29p2IRCRKfa6cwyhkmsMTm673jYZ1JLaKccnkPc4XeP+hwSzkjXVFrLoLCDsWmUuLMimfPn8Tmnln6m8+16nAlF3gAm0Q6KdrOHDoRrhORegqD3A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1602009240536784.8632099581125; Tue, 6 Oct 2020 11:34:00 -0700 (PDT) Received: from localhost ([::1]:40318 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kPrmg-0004pz-UX for importer@patchew.org; Tue, 06 Oct 2020 14:33:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57308) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kPrkc-0002zF-UF for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:31:50 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:50020) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kPrkY-0006PB-Fb for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:31:50 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-279-VNXk1h8mNZuWXpI81M38VQ-1; Tue, 06 Oct 2020 14:31:40 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 3DEC618A8230; Tue, 6 Oct 2020 18:31:39 +0000 (UTC) Received: from thuth.com (ovpn-113-60.ams2.redhat.com [10.36.113.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4E9FB6EF46; Tue, 6 Oct 2020 18:31:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602009105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=T6YP8hrHQXev/+boFaf2AQK9gihkEjg8LhNi5eosoCs=; b=JabQMd9QHURcPaLmHMN4KKnw0JUerEQIT+xZnMRN1I8r3fnJ2oyZbx0Ak+SChGLD6ZTLin 5gPASvIy9BwJud5+d3CoZYkMU7dGkzYs7LxeZnvTcftpsXyYtKLiK3hb+YY1/LIEWXfHyC NT1XoY0XpD6EBeTMulq3Sn2wa6L31BM= X-MC-Unique: VNXk1h8mNZuWXpI81M38VQ-1 From: Thomas Huth To: qemu-devel@nongnu.org, Peter Maydell Subject: [PULL 03/16] pc-bios/s390-ccw: Introduce ENODEV define and remove guards of others Date: Tue, 6 Oct 2020 20:31:09 +0200 Message-Id: <20201006183122.155609-4-thuth@redhat.com> In-Reply-To: <20201006183122.155609-1-thuth@redhat.com> References: <20201006183122.155609-1-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=thuth@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=216.205.24.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/06 00:55:20 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.733, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Christian Borntraeger , qemu-s390x@nongnu.org, Cornelia Huck , Marc Hartmayer , Janosch Frank Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Remove the "#ifndef E..." guards from the defines here - the header guard S390_CCW_H at the top of the file should avoid double definition, and if the error code is defined in a different file already, we're in trouble anyway, then it's better to see the error at compile time instead of hunting weird behavior during runtime later. Also define ENODEV - we will use this in a later patch. Message-Id: <20200806105349.632-4-thuth@redhat.com> Reviewed-by: Cornelia Huck Reviewed-by: Janosch Frank Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/s390-ccw.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pc-bios/s390-ccw/s390-ccw.h b/pc-bios/s390-ccw/s390-ccw.h index 36b884cced..dbc4c64851 100644 --- a/pc-bios/s390-ccw/s390-ccw.h +++ b/pc-bios/s390-ccw/s390-ccw.h @@ -27,12 +27,10 @@ typedef unsigned long long __u64; #define false 0 #define PAGE_SIZE 4096 =20 -#ifndef EIO #define EIO 1 -#endif -#ifndef EBUSY #define EBUSY 2 -#endif +#define ENODEV 3 + #ifndef NULL #define NULL 0 #endif --=20 2.18.2 From nobody Sat May 18 10:30:11 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1602009241; cv=none; d=zohomail.com; s=zohoarc; b=J3BFCUyrgpo820drk4QQsPD2WvdmkiWMBrxDCLehme3misPHx6goGLzHs+N4IvWT9+w/PLDQu6rizOD2ucWxFhujKisYdduPGKoNT3vcXvEbSMD0gDZST88iEUN5Mnri2iSUV15topEHfigVlP37YSWyiipvpskIc1GioZ4SdLQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602009241; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=dzyh+Pz8mpV1UPExogx8Gf8Vc0kVGigC56axXcGuahA=; b=Gd1Kgxhy68IIg2on95CwS4rwYHa253xvluExbMCH5s2N4RSKg2TP7vlWEGBaUpYMaZVwfy8YUBcPQQAxRiPNLq46lrXEx+KVInqCAmw6uZlk6KvGiqjynb/UXMyi9rDaDCe/tVZjeJHS7262zYeJDfDr/ftojRxk3Aylfboy/lo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1602009241954606.0203457518815; Tue, 6 Oct 2020 11:34:01 -0700 (PDT) Received: from localhost ([::1]:40438 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kPrmi-0004sz-Lx for importer@patchew.org; Tue, 06 Oct 2020 14:34:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57386) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kPrkg-00031y-Ew for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:31:54 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:21604) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kPrkY-0006P5-Ik for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:31:54 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-258-CU8ZGVnyMf2MLb_7SiCUkQ-1; Tue, 06 Oct 2020 14:31:42 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7D0CF80365F; Tue, 6 Oct 2020 18:31:41 +0000 (UTC) Received: from thuth.com (ovpn-113-60.ams2.redhat.com [10.36.113.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9BFE36EF43; Tue, 6 Oct 2020 18:31:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602009105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=dzyh+Pz8mpV1UPExogx8Gf8Vc0kVGigC56axXcGuahA=; b=AVlW44aZmjIasvUzraGXk1UpJt75XJHFSPeiNyfPDge+sTHdbgXq9xjiotdHrZ+sdIDVzz XS+pdBqj0sZJBDCbFm7A75/C6hQSmeDJpa/fSDFZF7n4csxpyOGCQNGC7ydmHUmViJfCe1 H4UFcPD2oddegvTCNyP0VMP8XAFVMcI= X-MC-Unique: CU8ZGVnyMf2MLb_7SiCUkQ-1 From: Thomas Huth To: qemu-devel@nongnu.org, Peter Maydell Subject: [PULL 04/16] pc-bios/s390-ccw: Move the inner logic of find_subch() to a separate function Date: Tue, 6 Oct 2020 20:31:10 +0200 Message-Id: <20201006183122.155609-5-thuth@redhat.com> In-Reply-To: <20201006183122.155609-1-thuth@redhat.com> References: <20201006183122.155609-1-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=thuth@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=63.128.21.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/06 01:55:55 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.733, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Christian Borntraeger , qemu-s390x@nongnu.org, Cornelia Huck , Marc Hartmayer , Janosch Frank Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Move the code to a separate function to be able to re-use it from a different spot later. Reviewed-by: Claudio Imbrenda Message-Id: <20200806105349.632-5-thuth@redhat.com> Reviewed-by: Cornelia Huck Reviewed-by: Janosch Frank Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/main.c | 99 ++++++++++++++++++++++++----------------- 1 file changed, 57 insertions(+), 42 deletions(-) diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c index 9b64eb0c24..0d2aabbc58 100644 --- a/pc-bios/s390-ccw/main.c +++ b/pc-bios/s390-ccw/main.c @@ -51,6 +51,60 @@ unsigned int get_loadparm_index(void) return atoui(loadparm_str); } =20 +static int is_dev_possibly_bootable(int dev_no, int sch_no) +{ + bool is_virtio; + Schib schib; + int r; + + blk_schid.sch_no =3D sch_no; + r =3D stsch_err(blk_schid, &schib); + if (r =3D=3D 3 || r =3D=3D -EIO) { + return -ENODEV; + } + if (!schib.pmcw.dnv) { + return false; + } + + enable_subchannel(blk_schid); + cutype =3D cu_type(blk_schid); + + /* + * Note: we always have to run virtio_is_supported() here to make + * sure that the vdev.senseid data gets pre-initialized correctly + */ + is_virtio =3D virtio_is_supported(blk_schid); + + /* No specific devno given, just return whether the device is possibly= bootable */ + if (dev_no < 0) { + switch (cutype) { + case CU_TYPE_VIRTIO: + if (is_virtio) { + /* + * Skip net devices since no IPLB is created and therefore + * no network bootloader has been loaded + */ + if (virtio_get_device_type() !=3D VIRTIO_ID_NET) { + return true; + } + } + return false; + case CU_TYPE_DASD_3990: + case CU_TYPE_DASD_2107: + return true; + default: + return false; + } + } + + /* Caller asked for a specific devno */ + if (schib.pmcw.dev =3D=3D dev_no) { + return true; + } + + return false; +} + /* * Find the subchannel connected to the given device (dev_no) and fill in = the * subchannel information block (schib) with the connected subchannel's in= fo. @@ -62,53 +116,14 @@ unsigned int get_loadparm_index(void) */ static bool find_subch(int dev_no) { - Schib schib; int i, r; - bool is_virtio; =20 for (i =3D 0; i < 0x10000; i++) { - blk_schid.sch_no =3D i; - r =3D stsch_err(blk_schid, &schib); - if ((r =3D=3D 3) || (r =3D=3D -EIO)) { + r =3D is_dev_possibly_bootable(dev_no, i); + if (r < 0) { break; } - if (!schib.pmcw.dnv) { - continue; - } - - enable_subchannel(blk_schid); - cutype =3D cu_type(blk_schid); - - /* - * Note: we always have to run virtio_is_supported() here to make - * sure that the vdev.senseid data gets pre-initialized correctly - */ - is_virtio =3D virtio_is_supported(blk_schid); - - /* No specific devno given, just return 1st possibly bootable devi= ce */ - if (dev_no < 0) { - switch (cutype) { - case CU_TYPE_VIRTIO: - if (is_virtio) { - /* - * Skip net devices since no IPLB is created and there= fore - * no network bootloader has been loaded - */ - if (virtio_get_device_type() !=3D VIRTIO_ID_NET) { - return true; - } - } - continue; - case CU_TYPE_DASD_3990: - case CU_TYPE_DASD_2107: - return true; - default: - continue; - } - } - - /* Caller asked for a specific devno */ - if (schib.pmcw.dev =3D=3D dev_no) { + if (r =3D=3D true) { return true; } } --=20 2.18.2 From nobody Sat May 18 10:30:11 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1602009609; cv=none; d=zohomail.com; s=zohoarc; b=mMcpyqfDnHyBz9GltmgrlSUUOSecGB39olvw5X3CafDTjxQKz/bfvZPFUEillc1JySOtiGL4djrUA8d3EcCNsPGq1RFj36SnpxVdCnopHwJgA9/4kK+hSSCH6mepF5q58RbMoaPHMwFmk+gniAlJaQR0VnzN1rgvxTgQp8w1XlA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602009609; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=MnWZwUdy4Q6HkOQDCypZN0dlkm5RNq9Fpgh72pTp3Sk=; b=RFBwBPaysPp9AlUiD1Sbf1BLSfEhQioXb232+cm/iRG8ExVJDflpSrDS7R0arlaXiRt2kLrXfEk8rpd3f3pjNB69SYZwRBDD8a9rva+t67ybgfiJhit2m7kb9jMulQPBxt2kRqMeu89JazA7gmosEBu5IXfPHGWfkDQfYFrLers= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 160200960982253.353076227659244; Tue, 6 Oct 2020 11:40:09 -0700 (PDT) Received: from localhost ([::1]:57434 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kPrse-0003Xy-Eb for importer@patchew.org; Tue, 06 Oct 2020 14:40:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57538) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kPrkr-000374-13 for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:06 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:49826) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kPrkc-0006Q4-LR for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:03 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-252-1nGCefFENruyeOMjCzFKkQ-1; Tue, 06 Oct 2020 14:31:45 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id BB74B18A8223; Tue, 6 Oct 2020 18:31:43 +0000 (UTC) Received: from thuth.com (ovpn-113-60.ams2.redhat.com [10.36.113.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id D9DD86EF43; Tue, 6 Oct 2020 18:31:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602009109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=MnWZwUdy4Q6HkOQDCypZN0dlkm5RNq9Fpgh72pTp3Sk=; b=hGgYRS+/bndExhN56Nqd0pennwgwUQ191ZilAiC55lJxBjq72NpU78hTsW1kTs3pdCzGWm Fyql3GYXpTdd4mh4uE8Gj6fwEb9xvx7z1QujzhwnZ6uyDgKz6MHHnIRNjMYnRy88cYSSpp 6b3xTG3i+wFLM6qDxh6Rll/+emm0d0o= X-MC-Unique: 1nGCefFENruyeOMjCzFKkQ-1 From: Thomas Huth To: qemu-devel@nongnu.org, Peter Maydell Subject: [PULL 05/16] pc-bios/s390-ccw: Do not bail out early if not finding a SCSI disk Date: Tue, 6 Oct 2020 20:31:11 +0200 Message-Id: <20201006183122.155609-6-thuth@redhat.com> In-Reply-To: <20201006183122.155609-1-thuth@redhat.com> References: <20201006183122.155609-1-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=thuth@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=63.128.21.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/06 01:55:55 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.733, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Christian Borntraeger , qemu-s390x@nongnu.org, Cornelia Huck , Marc Hartmayer , Janosch Frank Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" In case the user did not specify a boot device, we want to continue looking for other devices if there are no valid SCSI disks on a virtio- scsi controller. As a first step, do not panic in this case and let the control flow carry the error to the upper functions instead. Message-Id: <20200806105349.632-6-thuth@redhat.com> Reviewed-by: Cornelia Huck Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/main.c | 14 ++++++++++---- pc-bios/s390-ccw/s390-ccw.h | 2 +- pc-bios/s390-ccw/virtio-blkdev.c | 7 +++++-- pc-bios/s390-ccw/virtio-scsi.c | 28 ++++++++++++++++++++-------- pc-bios/s390-ccw/virtio-scsi.h | 2 +- 5 files changed, 37 insertions(+), 16 deletions(-) diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c index 0d2aabbc58..7bdd12ab2e 100644 --- a/pc-bios/s390-ccw/main.c +++ b/pc-bios/s390-ccw/main.c @@ -218,7 +218,7 @@ static void find_boot_device(void) IPL_assert(found, "Boot device not found\n"); } =20 -static void virtio_setup(void) +static int virtio_setup(void) { VDev *vdev =3D virtio_get_device(); QemuIplParameters *early_qipl =3D (QemuIplParameters *)QIPL_ADDRESS; @@ -233,9 +233,14 @@ static void virtio_setup(void) sclp_print("Network boot device detected\n"); vdev->netboot_start_addr =3D qipl.netboot_start_addr; } else { - virtio_blk_setup_device(blk_schid); + int ret =3D virtio_blk_setup_device(blk_schid); + if (ret) { + return ret; + } IPL_assert(virtio_ipl_disk_is_valid(), "No valid IPL device detect= ed"); } + + return 0; } =20 static void ipl_boot_device(void) @@ -246,8 +251,9 @@ static void ipl_boot_device(void) dasd_ipl(blk_schid, cutype); /* no return */ break; case CU_TYPE_VIRTIO: - virtio_setup(); - zipl_load(); /* no return */ + if (virtio_setup() =3D=3D 0) { + zipl_load(); /* no return */ + } break; default: print_int("Attempting to boot from unexpected device type", cutype= ); diff --git a/pc-bios/s390-ccw/s390-ccw.h b/pc-bios/s390-ccw/s390-ccw.h index dbc4c64851..9b86c120b4 100644 --- a/pc-bios/s390-ccw/s390-ccw.h +++ b/pc-bios/s390-ccw/s390-ccw.h @@ -69,7 +69,7 @@ int sclp_read(char *str, size_t count); unsigned long virtio_load_direct(ulong rec_list1, ulong rec_list2, ulong subchan_id, void *load_addr); bool virtio_is_supported(SubChannelId schid); -void virtio_blk_setup_device(SubChannelId schid); +int virtio_blk_setup_device(SubChannelId schid); int virtio_read(ulong sector, void *load_addr); =20 /* bootmap.c */ diff --git a/pc-bios/s390-ccw/virtio-blkdev.c b/pc-bios/s390-ccw/virtio-blk= dev.c index 11c56261ca..7d35050292 100644 --- a/pc-bios/s390-ccw/virtio-blkdev.c +++ b/pc-bios/s390-ccw/virtio-blkdev.c @@ -263,9 +263,10 @@ uint64_t virtio_get_blocks(void) return 0; } =20 -void virtio_blk_setup_device(SubChannelId schid) +int virtio_blk_setup_device(SubChannelId schid) { VDev *vdev =3D virtio_get_device(); + int ret =3D 0; =20 vdev->schid =3D schid; virtio_setup_ccw(vdev); @@ -288,9 +289,11 @@ void virtio_blk_setup_device(SubChannelId schid) "Config: CDB size mismatch"); =20 sclp_print("Using virtio-scsi.\n"); - virtio_scsi_setup(vdev); + ret =3D virtio_scsi_setup(vdev); break; default: panic("\n! No IPL device available !\n"); } + + return ret; } diff --git a/pc-bios/s390-ccw/virtio-scsi.c b/pc-bios/s390-ccw/virtio-scsi.c index eddfb8a7ad..2c8d0f3097 100644 --- a/pc-bios/s390-ccw/virtio-scsi.c +++ b/pc-bios/s390-ccw/virtio-scsi.c @@ -194,7 +194,12 @@ static bool scsi_read_capacity(VDev *vdev, =20 /* virtio-scsi routines */ =20 -static void virtio_scsi_locate_device(VDev *vdev) +/* + * Tries to locate a SCSI device and and adds the information for the found + * device to the vdev->scsi_device structure. + * Returns 0 if SCSI device could be located, or a error code < 0 otherwise + */ +static int virtio_scsi_locate_device(VDev *vdev) { const uint16_t channel =3D 0; /* again, it's what QEMU does */ uint16_t target; @@ -220,7 +225,7 @@ static void virtio_scsi_locate_device(VDev *vdev) IPL_check(sdev->channel =3D=3D 0, "non-zero channel requested"); IPL_check(sdev->target <=3D vdev->config.scsi.max_target, "target#= high"); IPL_check(sdev->lun <=3D vdev->config.scsi.max_lun, "LUN# high"); - return; + return 0; } =20 for (target =3D 0; target <=3D vdev->config.scsi.max_target; target++)= { @@ -247,18 +252,20 @@ static void virtio_scsi_locate_device(VDev *vdev) */ sdev->lun =3D r->lun[0].v16[0]; /* it's returned this way */ debug_print_int("Have to use LUN", sdev->lun); - return; /* we have to use this device */ + return 0; /* we have to use this device */ } for (i =3D 0; i < luns; i++) { if (r->lun[i].v64) { /* Look for non-zero LUN - we have where to choose from */ sdev->lun =3D r->lun[i].v16[0]; debug_print_int("Will use LUN", sdev->lun); - return; /* we have found a device */ + return 0; /* we have found a device */ } } } - panic("\n! Cannot locate virtio-scsi device !\n"); + + sclp_print("Warning: Could not locate a usable virtio-scsi device\n"); + return -ENODEV; } =20 int virtio_scsi_read_many(VDev *vdev, @@ -322,17 +329,20 @@ static void scsi_parse_capacity_report(void *data, } } =20 -void virtio_scsi_setup(VDev *vdev) +int virtio_scsi_setup(VDev *vdev) { int retry_test_unit_ready =3D 3; uint8_t data[256]; uint32_t data_size =3D sizeof(data); ScsiInquiryEvpdPages *evpd =3D &scsi_inquiry_evpd_pages_response; ScsiInquiryEvpdBl *evpd_bl =3D &scsi_inquiry_evpd_bl_response; - int i; + int i, ret; =20 vdev->scsi_device =3D &default_scsi_device; - virtio_scsi_locate_device(vdev); + ret =3D virtio_scsi_locate_device(vdev); + if (ret < 0) { + return ret; + } =20 /* We have to "ping" the device before it becomes readable */ while (!scsi_test_unit_ready(vdev)) { @@ -417,4 +427,6 @@ void virtio_scsi_setup(VDev *vdev) } scsi_parse_capacity_report(data, &vdev->scsi_last_block, (uint32_t *) &vdev->scsi_block_size); + + return 0; } diff --git a/pc-bios/s390-ccw/virtio-scsi.h b/pc-bios/s390-ccw/virtio-scsi.h index 4c4f4bbc31..4b14c2c2f9 100644 --- a/pc-bios/s390-ccw/virtio-scsi.h +++ b/pc-bios/s390-ccw/virtio-scsi.h @@ -67,7 +67,7 @@ static inline bool virtio_scsi_response_ok(const VirtioSc= siCmdResp *r) return r->response =3D=3D VIRTIO_SCSI_S_OK && r->status =3D=3D CDB= _STATUS_GOOD; } =20 -void virtio_scsi_setup(VDev *vdev); +int virtio_scsi_setup(VDev *vdev); int virtio_scsi_read_many(VDev *vdev, ulong sector, void *load_addr, int sec_num); =20 --=20 2.18.2 From nobody Sat May 18 10:30:11 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1602009426; cv=none; d=zohomail.com; s=zohoarc; b=JTXY4WWT4GArbnNLnGPqXaxfCkcbIP6Wz6Ct02/sgN7WnWH/W/wQLPRrwRfqLB+wgl5c2uGGJfs7ojPgVg9aG8TJnjglZ9rFepFRayrRjxghmex9ZcYXbonZA49wXNA7ThH6kMQzAaJSXPZgMEB1XT5vHI/K3pARl56KWOC/d9g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602009426; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=oXmN++jhEaNJnngbfUargtNjzn1XA9jM2TKvsuKwQJg=; b=kKu9ykw1tzVVAvFlHWq5PCokwDsIdbHNmtpVIs7RR3udcIkynX4A3No+1CUwkWwPm3sefTl/VmQSnr1rDEcVXQXKyLGP/tWP49EoNf4l5ioaAZ2puM6Y8xzXxFhp4mv0FSnnwx+OTA910BzmgwP4Hx4VcSOasy5oxQe43Di09TE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16020094268761007.0923127251034; Tue, 6 Oct 2020 11:37:06 -0700 (PDT) Received: from localhost ([::1]:48898 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kPrph-0008SN-Js for importer@patchew.org; Tue, 06 Oct 2020 14:37:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57536) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kPrkr-000371-0z for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:06 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:46036) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kPrke-0006QR-Qd for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:03 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-560-ShqeSJNKP-WNZn3EGFzxvA-1; Tue, 06 Oct 2020 14:31:48 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 43C1210BBEC4; Tue, 6 Oct 2020 18:31:46 +0000 (UTC) Received: from thuth.com (ovpn-113-60.ams2.redhat.com [10.36.113.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id 24A7A6EF46; Tue, 6 Oct 2020 18:31:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602009112; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=oXmN++jhEaNJnngbfUargtNjzn1XA9jM2TKvsuKwQJg=; b=A0ktQrIlQvUxVmTX+DgR9Gk9bLzjvuZOwmXy8LZELRWSMd1QS/Tm8e8U9t+Vl9m/UI37Ps 8oNrG/LIEXVSZe91PBp5+mEl8pTHqIt7cGrTn2DgLX0HJiOtGlMblsIzNm0qx8YukKOTTE 7ppngBT4B//B4O7YBV5qQwfxYsGAnPw= X-MC-Unique: ShqeSJNKP-WNZn3EGFzxvA-1 From: Thomas Huth To: qemu-devel@nongnu.org, Peter Maydell Subject: [PULL 06/16] pc-bios/s390-ccw: Scan through all devices if no boot device specified Date: Tue, 6 Oct 2020 20:31:12 +0200 Message-Id: <20201006183122.155609-7-thuth@redhat.com> In-Reply-To: <20201006183122.155609-1-thuth@redhat.com> References: <20201006183122.155609-1-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=thuth@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=63.128.21.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/06 01:55:55 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.733, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Christian Borntraeger , qemu-s390x@nongnu.org, Cornelia Huck , Marc Hartmayer , Janosch Frank Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" If no boot device has been specified (via "bootindex=3D..."), the s390-ccw bios scans through all devices to find a bootable device. But so far, it stops at the very first block device (including virtio-scsi controllers without attached devices) that it finds, no matter whether it is bootable or not. That leads to some weird situatation where it is e.g. possible to boot via: qemu-system-s390x -hda /path/to/disk.qcow2 but not if there is e.g. a virtio-scsi controller specified before: qemu-system-s390x -device virtio-scsi -hda /path/to/disk.qcow2 While using "bootindex=3D..." is clearly the preferred way of booting on s390x, we still can make the life for the users at least a little bit easier if we look at all available devices to find a bootable one. Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=3D1846975 Reviewed-by: Cornelia Huck Message-Id: <20200806105349.632-7-thuth@redhat.com> Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/main.c | 46 +++++++++++++++++++++++++++-------------- 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c index 7bdd12ab2e..9b581074a1 100644 --- a/pc-bios/s390-ccw/main.c +++ b/pc-bios/s390-ccw/main.c @@ -182,20 +182,8 @@ static void boot_setup(void) static void find_boot_device(void) { VDev *vdev =3D virtio_get_device(); - int ssid; bool found; =20 - if (!have_iplb) { - for (ssid =3D 0; ssid < 0x3; ssid++) { - blk_schid.ssid =3D ssid; - found =3D find_subch(-1); - if (found) { - return; - } - } - panic("Could not find a suitable boot device (none specified)\n"); - } - switch (iplb.pbt) { case S390_IPL_TYPE_CCW: debug_print_int("device no. ", iplb.ccw.devno); @@ -261,14 +249,42 @@ static void ipl_boot_device(void) } } =20 +/* + * No boot device has been specified, so we have to scan through the + * channels to find one. + */ +static void probe_boot_device(void) +{ + int ssid, sch_no, ret; + + for (ssid =3D 0; ssid < 0x3; ssid++) { + blk_schid.ssid =3D ssid; + for (sch_no =3D 0; sch_no < 0x10000; sch_no++) { + ret =3D is_dev_possibly_bootable(-1, sch_no); + if (ret < 0) { + break; + } + if (ret =3D=3D true) { + ipl_boot_device(); /* Only returns if unsuccessful */ + } + } + } + + sclp_print("Could not find a suitable boot device (none specified)\n"); +} + int main(void) { sclp_setup(); css_setup(); boot_setup(); - find_boot_device(); - enable_subchannel(blk_schid); - ipl_boot_device(); + if (have_iplb) { + find_boot_device(); + enable_subchannel(blk_schid); + ipl_boot_device(); + } else { + probe_boot_device(); + } =20 panic("Failed to load OS from hard disk\n"); return 0; /* make compiler happy */ --=20 2.18.2 From nobody Sat May 18 10:30:11 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1602009858; cv=none; d=zohomail.com; s=zohoarc; b=VizXOkNAUQd8OAywKSeR5VJidoWXpF4QETJ1u6WbU6IsGzfSFjqZP2pxIufq2PrVg7gsXlan8zWIcfYBB72iPkHpaLft76MW0KCq/KT+UeW+WxtDoZJw6gHyhjtjIfwaLzX/q1iYSjsgXqQ8J4GhUIv9Je74NmVP7FfZnvapCSw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602009858; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=DxCDr3nu+963JbS2KIIO8+qacFUqodOblwlj1/IPPAs=; b=OnVDzVsAFoQQhLFqISAz00BbPmWvAJiw3HNHwtp/5iz2UfIGPZ/AA2Um0E3Z+Ma1BQIyfcISoyW7GMq1acrBgksvDn0pfflLuGZcIL+45U7zDBZYAm5vXhDgscouoySx29XXEECo/4jG3BoHZzH8Oq5JugfmMBK8aawZcMiSzVY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1602009858571117.97899922995566; Tue, 6 Oct 2020 11:44:18 -0700 (PDT) Received: from localhost ([::1]:40874 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kPrwf-0008P8-AL for importer@patchew.org; Tue, 06 Oct 2020 14:44:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57614) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kPrkv-00039w-Em for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:10 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:48129) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kPrkh-0006RH-DT for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:09 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-589-hHb2DlbWMwqg2FLyo0ta2Q-1; Tue, 06 Oct 2020 14:31:49 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5B33B10BBEC0; Tue, 6 Oct 2020 18:31:48 +0000 (UTC) Received: from thuth.com (ovpn-113-60.ams2.redhat.com [10.36.113.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id 79D9B6EF43; Tue, 6 Oct 2020 18:31:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602009114; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=DxCDr3nu+963JbS2KIIO8+qacFUqodOblwlj1/IPPAs=; b=MTfGT//HbxvuHjKBhxAMZXn+8fSazDI6sxEGFjxgEs4SfuIPnzCiPEhRfJg5Hs0ibpmLHw t5CnnYvlycLYay2ALWrFcIp5q3tjAj3Td8j5Y2y0S8HV761YBGFYeF/jku2k+o2cD7lvoA fHm5BxYIbI+9HbH9ogF5+KhT2KVcuTo= X-MC-Unique: hHb2DlbWMwqg2FLyo0ta2Q-1 From: Thomas Huth To: qemu-devel@nongnu.org, Peter Maydell Subject: [PULL 07/16] pc-bios/s390-ccw: Allow booting in case the first virtio-blk disk is bad Date: Tue, 6 Oct 2020 20:31:13 +0200 Message-Id: <20201006183122.155609-8-thuth@redhat.com> In-Reply-To: <20201006183122.155609-1-thuth@redhat.com> References: <20201006183122.155609-1-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=thuth@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=216.205.24.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/06 00:55:20 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.733, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Christian Borntraeger , qemu-s390x@nongnu.org, Cornelia Huck , Marc Hartmayer , Janosch Frank Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" If you try to boot with two virtio-blk disks (without bootindex), and only the second one is bootable, the s390-ccw bios currently stops at the first disk and does not continue booting from the second one. This is annoying - and all other major QEMU firmwares succeed to boot from the second disk in this case, so we should do the same in the s390-ccw bios, too. Reviewed-by: Cornelia Huck Message-Id: <20200806105349.632-8-thuth@redhat.com> Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/bootmap.c | 34 +++++++++++++++++++++++----------- pc-bios/s390-ccw/main.c | 2 +- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/pc-bios/s390-ccw/bootmap.c b/pc-bios/s390-ccw/bootmap.c index 97205674e5..0ef6b851f3 100644 --- a/pc-bios/s390-ccw/bootmap.c +++ b/pc-bios/s390-ccw/bootmap.c @@ -289,11 +289,18 @@ static void ipl_eckd_cdl(void) read_block(1, ipl2, "Cannot read IPL2 record at block 1"); =20 mbr =3D &ipl2->mbr; - IPL_assert(magic_match(mbr, ZIPL_MAGIC), "No zIPL section in IPL2 reco= rd."); - IPL_assert(block_size_ok(mbr->blockptr.xeckd.bptr.size), - "Bad block size in zIPL section of IPL2 record."); - IPL_assert(mbr->dev_type =3D=3D DEV_TYPE_ECKD, - "Non-ECKD device type in zIPL section of IPL2 record."); + if (!magic_match(mbr, ZIPL_MAGIC)) { + sclp_print("No zIPL section in IPL2 record.\n"); + return; + } + if (!block_size_ok(mbr->blockptr.xeckd.bptr.size)) { + sclp_print("Bad block size in zIPL section of IPL2 record.\n"); + return; + } + if (!mbr->dev_type =3D=3D DEV_TYPE_ECKD) { + sclp_print("Non-ECKD device type in zIPL section of IPL2 record.\n= "); + return; + } =20 /* save pointer to Boot Map Table */ bmt_block_nr =3D eckd_block_num(&mbr->blockptr.xeckd.bptr.chs); @@ -303,10 +310,14 @@ static void ipl_eckd_cdl(void) =20 memset(sec, FREE_SPACE_FILLER, sizeof(sec)); read_block(2, vlbl, "Cannot read Volume Label at block 2"); - IPL_assert(magic_match(vlbl->key, VOL1_MAGIC), - "Invalid magic of volume label block"); - IPL_assert(magic_match(vlbl->f.key, VOL1_MAGIC), - "Invalid magic of volser block"); + if (!magic_match(vlbl->key, VOL1_MAGIC)) { + sclp_print("Invalid magic of volume label block.\n"); + return; + } + if (!magic_match(vlbl->f.key, VOL1_MAGIC)) { + sclp_print("Invalid magic of volser block.\n"); + return; + } print_volser(vlbl->f.volser); =20 run_eckd_boot_script(bmt_block_nr, s1b_block_nr); @@ -398,7 +409,8 @@ static void ipl_eckd(void) read_block(0, mbr, "Cannot read block 0 on DASD"); =20 if (magic_match(mbr->magic, IPL1_MAGIC)) { - ipl_eckd_cdl(); /* no return */ + ipl_eckd_cdl(); /* only returns in case of error */ + return; } =20 /* LDL/CMS? */ @@ -825,5 +837,5 @@ void zipl_load(void) panic("\n! Unknown IPL device type !\n"); } =20 - panic("\n* this can never happen *\n"); + sclp_print("zIPL load failed.\n"); } diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c index 9b581074a1..fc17e6ab83 100644 --- a/pc-bios/s390-ccw/main.c +++ b/pc-bios/s390-ccw/main.c @@ -240,7 +240,7 @@ static void ipl_boot_device(void) break; case CU_TYPE_VIRTIO: if (virtio_setup() =3D=3D 0) { - zipl_load(); /* no return */ + zipl_load(); /* Only returns in case of errors */ } break; default: --=20 2.18.2 From nobody Sat May 18 10:30:11 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1602009428; cv=none; d=zohomail.com; s=zohoarc; b=dvNt1Z1oVvHade3+FqfuxfgbWCY/BQnriy4xoQ+iy599yz3dlyDGjXjYEyZwn90SBXbq629fh3YFcXQ+xIJXZIEyJYuZM4J/5mVFWwUkzer5p6IlChJdnV2qzLwgNSKUr51LN5nc2RdlFYRjPb10Wkp6Xxj/cme1C2vppHP8qDg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602009428; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=4B9LkdA0MGaeohHjLbvlVV7WsFAAJx550taNu8byM34=; b=nyinJxb1L+dAsRmrtqWDet+bwEfGkNR48EhJEBNsJ7TBtt9eQRR5EKAi8S1PJ4IhGUcc9da5MQpeLZjff1VeauRLOmQeuCQyKCUe7Zbz0wVWc35Q5xTxLymmbHlWQ7633uRPC5iv5lPR2bcQHIelsVl9fgYNlqJOq3zSZo+BELo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1602009428764454.9428026263588; Tue, 6 Oct 2020 11:37:08 -0700 (PDT) Received: from localhost ([::1]:49108 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kPrpj-00005s-Gv for importer@patchew.org; Tue, 06 Oct 2020 14:37:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57542) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kPrkr-00037B-2n for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:06 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:42344) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kPrkg-0006R2-TU for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:04 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-76-rs9MovxvNN6C7QKwIqRqTw-1; Tue, 06 Oct 2020 14:31:52 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B156E87950B; Tue, 6 Oct 2020 18:31:50 +0000 (UTC) Received: from thuth.com (ovpn-113-60.ams2.redhat.com [10.36.113.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id B81056EF43; Tue, 6 Oct 2020 18:31:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602009114; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=4B9LkdA0MGaeohHjLbvlVV7WsFAAJx550taNu8byM34=; b=P4bFEA6PhRXzWs4Z5ZZB1thjnf1AK/vXBa/bbsSwf9xjI3p8prpOYOBchAkWEZbo5SWVM/ NplSKcSWv7NhbxwpmXnlIoGz1qgohWT64haYI/lseOGKxupX6pjkpifhDbzKW1tVLnZ4GK 4uYg80vjTP5izxuNLdOgfaGviIGkh4c= X-MC-Unique: rs9MovxvNN6C7QKwIqRqTw-1 From: Thomas Huth To: qemu-devel@nongnu.org, Peter Maydell Subject: [PULL 08/16] pc-bios/s390-ccw/main: Remove superfluous call to enable_subchannel() Date: Tue, 6 Oct 2020 20:31:14 +0200 Message-Id: <20201006183122.155609-9-thuth@redhat.com> In-Reply-To: <20201006183122.155609-1-thuth@redhat.com> References: <20201006183122.155609-1-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=thuth@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=63.128.21.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/06 01:55:55 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.733, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Christian Borntraeger , qemu-s390x@nongnu.org, Cornelia Huck , Marc Hartmayer , Janosch Frank Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" enable_subchannel() is already done during is_dev_possibly_bootable() (which is called from find_boot_device() -> find_subch()), so there is no need to do this again in the main() function. Message-Id: <20200806105349.632-9-thuth@redhat.com> Reviewed-by: Cornelia Huck Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/main.c | 1 - 1 file changed, 1 deletion(-) diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c index fc17e6ab83..43c792cf95 100644 --- a/pc-bios/s390-ccw/main.c +++ b/pc-bios/s390-ccw/main.c @@ -280,7 +280,6 @@ int main(void) boot_setup(); if (have_iplb) { find_boot_device(); - enable_subchannel(blk_schid); ipl_boot_device(); } else { probe_boot_device(); --=20 2.18.2 From nobody Sat May 18 10:30:11 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1602009469; cv=none; d=zohomail.com; s=zohoarc; b=Vdaz6wtqmGueR8sRvanZf80rtN7EVLaV1t5wjkv047wStG2zrGDE82LzyTm8HGgr6TW00BkPAJ3fun672MLgbDgNlD/LTtOfoV8pgFGb8sySWh8h5dj948Fnmp3MjzlU5EFK42dNe5ILu7vQ8cglhith0yqs1tVLYgkEtOJzt+k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602009469; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=qQGr/uV1PD5lIMUXmn+4rxg1HAJlU+Yywd3806b1hgY=; b=EHqGp5qE8Y6DwLxjjtSG/UKPUF0XgtUVUn8DKSFUTjwvVVHUoTdR3qqiLgI+agb2XPsqPKO4gS4OscQyxxgm3uqt4Jk42hh/Ec499U13Da6SxKJ53p9xjXpBcPzQHbnjKdn+BUeXZFMN9GpJOn1qTJ/fvGcj6hGwfABBJlrA/MI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1602009469178492.11587830819497; Tue, 6 Oct 2020 11:37:49 -0700 (PDT) Received: from localhost ([::1]:52112 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kPrqN-0001L1-Uz for importer@patchew.org; Tue, 06 Oct 2020 14:37:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57572) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kPrks-00037W-9r for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:06 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:53459) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kPrkp-0006Rt-5h for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:05 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-377-yx7fk2SYMEG_J_Vsx8Tl1g-1; Tue, 06 Oct 2020 14:31:55 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 2C30A18A8226; Tue, 6 Oct 2020 18:31:53 +0000 (UTC) Received: from thuth.com (ovpn-113-60.ams2.redhat.com [10.36.113.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1A65E6EF46; Tue, 6 Oct 2020 18:31:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602009118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=qQGr/uV1PD5lIMUXmn+4rxg1HAJlU+Yywd3806b1hgY=; b=Y/m+yGIYS5BwSYvfXJYCTVbHFzOd61dmxQCIyRWGuMgTLl5lBoK/kQmh5AV7MDD3ujyc8Q ghw0XjQJKOROjLUo6dMa5BWa4z59V//ZjEJ2Vuc5cABaUOlFZdWQ/yjltbYle6lAZuLKmn WpWxceohdN0vhvSUKxhiMBoTeFVCFbo= X-MC-Unique: yx7fk2SYMEG_J_Vsx8Tl1g-1 From: Thomas Huth To: qemu-devel@nongnu.org, Peter Maydell Subject: [PULL 09/16] pc-bios/s390-ccw: fix off-by-one error Date: Tue, 6 Oct 2020 20:31:15 +0200 Message-Id: <20201006183122.155609-10-thuth@redhat.com> In-Reply-To: <20201006183122.155609-1-thuth@redhat.com> References: <20201006183122.155609-1-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=thuth@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=216.205.24.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/06 00:55:20 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.733, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Christian Borntraeger , qemu-s390x@nongnu.org, Cornelia Huck , Marc Hartmayer , Janosch Frank Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Marc Hartmayer This error takes effect when the magic value "zIPL" is located at the end of a block. For example if s2_cur_blk =3D 0x7fe18000 and the magic value "zIPL" is located at 0x7fe18ffc - 0x7fe18fff. Fixes: ba831b25262a ("s390-ccw: read stage2 boot loader data to find menu") Reviewed-by: Collin Walling Signed-off-by: Marc Hartmayer Message-Id: <20200924085926.21709-2-mhartmay@linux.ibm.com> Reviewed-by: Thomas Huth [thuth: Use "<=3D ... - 4" instead of "< ... - 3"] Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/bootmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pc-bios/s390-ccw/bootmap.c b/pc-bios/s390-ccw/bootmap.c index 0ef6b851f3..767bb612db 100644 --- a/pc-bios/s390-ccw/bootmap.c +++ b/pc-bios/s390-ccw/bootmap.c @@ -163,7 +163,7 @@ static bool find_zipl_boot_menu_banner(int *offset) int i; =20 /* Menu banner starts with "zIPL" */ - for (i =3D 0; i < virtio_get_block_size() - 4; i++) { + for (i =3D 0; i <=3D virtio_get_block_size() - 4; i++) { if (magic_match(s2_cur_blk + i, ZIPL_MAGIC_EBCDIC)) { *offset =3D i; return true; --=20 2.18.2 From nobody Sat May 18 10:30:11 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1602009610; cv=none; d=zohomail.com; s=zohoarc; b=doSY77qGeLwlT+w1zEDj6yI4IEbU6bHw2zHy6ttUI9QeHdBU9VpH/J6+/cDXyc+r4rxJIGc+VbuY0mcjR6AwyxnVPhtO34f/mtHDygHnHKXf1JWV+FIhpaDYZxF9m1473r7lCSa24fUmSrFa3a92NNf6FvtZfvvSX3Oh+Q/peho= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602009610; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=bat8GjmkjNyQ7PxcbFwQEPYIJCD1eZaYfT8QTugA/fs=; b=mc8FSb3ZwfN3MmVEBWrOCxpRZBVXHZv1pXQidn1xbtevt2R43hxZxh0SAlZtOAnUuMy0Rdk8+NpSZLd8nkqdNxateHK/AVXRigCh1ffqDVNZZjzJj6bzYlaGrvs0wMvu/+dl/Ce84CXqH29QCRbNDkTOnLn9OFF4gGcopAYg5+c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1602009610341678.3993096137158; Tue, 6 Oct 2020 11:40:10 -0700 (PDT) Received: from localhost ([::1]:57504 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kPrse-0003Zl-R2 for importer@patchew.org; Tue, 06 Oct 2020 14:40:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57600) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kPrkv-00039n-3o for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:10 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:33676) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kPrkq-0006S9-GK for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:08 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-484-Ul5Uq7u2PZeKUcuWQqwLVA-1; Tue, 06 Oct 2020 14:31:56 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 72DC310BBEC4; Tue, 6 Oct 2020 18:31:55 +0000 (UTC) Received: from thuth.com (ovpn-113-60.ams2.redhat.com [10.36.113.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id 89ACD6EF46; Tue, 6 Oct 2020 18:31:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602009120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=bat8GjmkjNyQ7PxcbFwQEPYIJCD1eZaYfT8QTugA/fs=; b=NxnUgKr4EcJVIOwnij5YkzC3LnCwd6I/xA5e9pC5Kzir54VLBXF8YjJFbpobpvy66fA1ny 8x3KjgSmeTE6Nf05JZhXB50yFPhI66PXtnCkjoJoyovgd4YFBifr6WUo2eb1e2O25+ZCZp Map1hV+Ysk5+APSs3TNbq+ZzU1TEnz8= X-MC-Unique: Ul5Uq7u2PZeKUcuWQqwLVA-1 From: Thomas Huth To: qemu-devel@nongnu.org, Peter Maydell Subject: [PULL 10/16] pc-bios/s390-ccw: break loop if a null block number is reached Date: Tue, 6 Oct 2020 20:31:16 +0200 Message-Id: <20201006183122.155609-11-thuth@redhat.com> In-Reply-To: <20201006183122.155609-1-thuth@redhat.com> References: <20201006183122.155609-1-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=thuth@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=63.128.21.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/06 01:55:55 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.733, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Christian Borntraeger , qemu-s390x@nongnu.org, Cornelia Huck , Marc Hartmayer , Janosch Frank Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Marc Hartmayer Break the loop if `cur_block_nr` is a null block number because this means that the end of chunk is reached. In this case we will try to boot the default entry. Fixes: ba831b25262a ("s390-ccw: read stage2 boot loader data to find menu") Reviewed-by: Collin Walling Signed-off-by: Marc Hartmayer Message-Id: <20200924085926.21709-3-mhartmay@linux.ibm.com> Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/bootmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pc-bios/s390-ccw/bootmap.c b/pc-bios/s390-ccw/bootmap.c index 767bb612db..942fba3fa7 100644 --- a/pc-bios/s390-ccw/bootmap.c +++ b/pc-bios/s390-ccw/bootmap.c @@ -192,7 +192,7 @@ static int eckd_get_boot_menu_index(block_number_t s1b_= block_nr) for (i =3D 0; i < STAGE2_BLK_CNT_MAX; i++) { cur_block_nr =3D eckd_block_num(&s1b->seek[i].chs); =20 - if (!cur_block_nr) { + if (!cur_block_nr || is_null_block_number(cur_block_nr)) { break; } =20 --=20 2.18.2 From nobody Sat May 18 10:30:11 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1602009811; cv=none; d=zohomail.com; s=zohoarc; b=cllbLUXjnutEpNgpXLbxnae44/aR736G4QffJ2oT84NPSD1jl1ov0vdGgHi5v/6eKY0VuYT3bvOh2tsFEK9X68mDrxZyE8vACbhuRP2mdX2LZr1zZT9+8e359lUBCzBMLVzFWe7Ivlp0KchTEXd7HInZji+ettUkybBXoE8hzG0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602009811; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=reA2jGEO0WxqXPBXnp+mqNftr2aAiep6CvRVSdocT/Y=; b=gEPMICoeTB09N8cE0juYpyIG02dF82myOxmu8QVK5FWyuGdiT/n2MeMtvZ/c/ZZ3cUwOAsY9e2k5oQOexH5K3mnfvnoP95lDsPqglIZt6Y69kO70Gruans7A2VyBqICnuFb+/ivyV3tIcjJi8seYOxVH23iZAwrDc+iGr96neoQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1602009811718671.3890965471211; Tue, 6 Oct 2020 11:43:31 -0700 (PDT) Received: from localhost ([::1]:37806 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kPrvu-0007BE-FK for importer@patchew.org; Tue, 06 Oct 2020 14:43:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57602) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kPrkv-00039u-7e for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:10 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:30315) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kPrkq-0006SZ-Io for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:08 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-3-ssEg3xbkMtG1OB2r3I0fYg-1; Tue, 06 Oct 2020 14:31:59 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id BF6F6802B73; Tue, 6 Oct 2020 18:31:57 +0000 (UTC) Received: from thuth.com (ovpn-113-60.ams2.redhat.com [10.36.113.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id E06B56EF43; Tue, 6 Oct 2020 18:31:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602009123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=reA2jGEO0WxqXPBXnp+mqNftr2aAiep6CvRVSdocT/Y=; b=ZWZIw7mjvf8nfZQak3Cwf1dNA+/Y6PPX9W2C5QeMoyZge9fjXxL+ZBpIUOS8qYjp3sTVf+ piiiH5a4ww8A22KOuGZjFqg/b9ToBVZA/yub71/CCwUM8RxBED8Tf6tymqaOR3CZnNct9j 53DwDRJsJLgS9Ng+vcRfo76j/dhyxno= X-MC-Unique: ssEg3xbkMtG1OB2r3I0fYg-1 From: Thomas Huth To: qemu-devel@nongnu.org, Peter Maydell Subject: [PULL 11/16] pc-bios: s390x: Fix bootmap.c zipl component entry data handling Date: Tue, 6 Oct 2020 20:31:17 +0200 Message-Id: <20201006183122.155609-12-thuth@redhat.com> In-Reply-To: <20201006183122.155609-1-thuth@redhat.com> References: <20201006183122.155609-1-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=thuth@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=216.205.24.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/06 00:55:20 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.733, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Christian Borntraeger , qemu-s390x@nongnu.org, Cornelia Huck , Marc Hartmayer , Janosch Frank Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Janosch Frank The two main types of zipl component entries are execute and load/data. The last member of the component entry struct therefore denotes either a PSW or an address. Let's make this a bit more clear by introducing a union and cleaning up the code that uses that struct member. The execute type component entries written by zipl contain short PSWs, not addresses. Let's mask them and only pass the address part to jump_to_IPL_code(uint64_t address) because it expects an address as visible by the name of the argument. Signed-off-by: Janosch Frank Reviewed-by: Thomas Huth Message-Id: <20201006094249.50640-2-frankja@linux.ibm.com> Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/bootmap.c | 5 +++-- pc-bios/s390-ccw/bootmap.h | 7 ++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/pc-bios/s390-ccw/bootmap.c b/pc-bios/s390-ccw/bootmap.c index 942fba3fa7..73471801de 100644 --- a/pc-bios/s390-ccw/bootmap.c +++ b/pc-bios/s390-ccw/bootmap.c @@ -10,6 +10,7 @@ =20 #include "libc.h" #include "s390-ccw.h" +#include "s390-arch.h" #include "bootmap.h" #include "virtio.h" #include "bswap.h" @@ -448,7 +449,7 @@ static void zipl_load_segment(ComponentEntry *entry) char *blk_no =3D &err_msg[30]; /* where to print blockno in (those ZZs= ) */ =20 blockno =3D entry->data.blockno; - address =3D entry->load_address; + address =3D entry->compdat.load_addr; =20 debug_print_int("loading segment at block", blockno); debug_print_int("addr", address); @@ -526,7 +527,7 @@ static void zipl_run(ScsiBlockPtr *pte) IPL_assert(entry->component_type =3D=3D ZIPL_COMP_ENTRY_EXEC, "No EXEC= entry"); =20 /* should not return */ - jump_to_IPL_code(entry->load_address); + jump_to_IPL_code(entry->compdat.load_psw & PSW_MASK_SHORT_ADDR); } =20 static void ipl_scsi(void) diff --git a/pc-bios/s390-ccw/bootmap.h b/pc-bios/s390-ccw/bootmap.h index 12a0166aae..3946aa3f8d 100644 --- a/pc-bios/s390-ccw/bootmap.h +++ b/pc-bios/s390-ccw/bootmap.h @@ -64,11 +64,16 @@ typedef struct BootMapTable { BootMapPointer entry[]; } __attribute__ ((packed)) BootMapTable; =20 +typedef union ComponentEntryData { + uint64_t load_psw; + uint64_t load_addr; +} ComponentEntryData; + typedef struct ComponentEntry { ScsiBlockPtr data; uint8_t pad[7]; uint8_t component_type; - uint64_t load_address; + ComponentEntryData compdat; } __attribute((packed)) ComponentEntry; =20 typedef struct ComponentHeader { --=20 2.18.2 From nobody Sat May 18 10:30:11 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1602009717; cv=none; d=zohomail.com; s=zohoarc; b=mqD+xVGL4sJbE1kF+I66PwnVGmAM1zPDgjL6fikwu3+cahM/JuiOWH9jhGjl0Z02EyVpvhgdzhn2s7paAn7D8b+hPSUW0rAGU9H2PcSnWqeMGR6mlNhu4zSbax4Qc7Yd6vwOZOYOF7nmP4CEcKHloJulHyhOQd+uijj9sFAewQk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602009717; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=EZv8pIPA7LU9OgUgEDUhL6HYRrYj/hNMme/Zf2EHFxk=; b=FWQeXCKla1Pkck+7mj35sxFv0ZPMwy3AgzOd8JFkeusnN7C4Wc2kHkv9G8m5zRRz8aWZg2eMtsieaS+vyclXoucsZpuXqVXZJsFyqBRqnbFCOpxdEtjPV0R6jDb1blC/l2AonTDGYsrtqxHKiKCCmgj8Iur/DJrmoeqSTWP9IqI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1602009717025845.5811735515582; Tue, 6 Oct 2020 11:41:57 -0700 (PDT) Received: from localhost ([::1]:60618 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kPruM-0004u6-Mp for importer@patchew.org; Tue, 06 Oct 2020 14:41:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57588) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kPrkt-00038F-2h for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:08 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:52986) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kPrkq-0006SY-J6 for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:06 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-287-WxlLRyDaOmmZ1T9C-Y3thA-1; Tue, 06 Oct 2020 14:32:01 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 239EB8018A1; Tue, 6 Oct 2020 18:32:00 +0000 (UTC) Received: from thuth.com (ovpn-113-60.ams2.redhat.com [10.36.113.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2A0B16EF43; Tue, 6 Oct 2020 18:31:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602009123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=EZv8pIPA7LU9OgUgEDUhL6HYRrYj/hNMme/Zf2EHFxk=; b=QRY5uQofXEITzxP5RtILCvdWFcK7DKWRjAIx0qJycMwSQ+7X9xJDNRmhs5y/+Ah2rk4Or5 3cBYJTfUtI8PSD1JTfXvZL63+Yzxi97LzQJq4UFtc0QJZmmM5VhB6Wqxu0LibFd06nt2ke gl9bRXyfkZRBpLmPKKZaw1jyXHYCXyM= X-MC-Unique: WxlLRyDaOmmZ1T9C-Y3thA-1 From: Thomas Huth To: qemu-devel@nongnu.org, Peter Maydell Subject: [PULL 12/16] pc-bios: s390x: Save PSW rework Date: Tue, 6 Oct 2020 20:31:18 +0200 Message-Id: <20201006183122.155609-13-thuth@redhat.com> In-Reply-To: <20201006183122.155609-1-thuth@redhat.com> References: <20201006183122.155609-1-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=thuth@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=216.205.24.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/06 00:55:20 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.733, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Christian Borntraeger , qemu-s390x@nongnu.org, Cornelia Huck , Marc Hartmayer , Janosch Frank Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Janosch Frank We don't need to save the ipl_continue variable in lowcore and have it limited to 32 bits because of the lowcore layout. Let's move it to a new 64 bit variable and get rid of the reset info struct. Signed-off-by: Janosch Frank Reviewed-by: Thomas Huth Message-Id: <20201006094249.50640-3-frankja@linux.ibm.com> Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/jump2ipl.c | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/pc-bios/s390-ccw/jump2ipl.c b/pc-bios/s390-ccw/jump2ipl.c index 767012bf0c..b6aad32def 100644 --- a/pc-bios/s390-ccw/jump2ipl.c +++ b/pc-bios/s390-ccw/jump2ipl.c @@ -13,20 +13,17 @@ #define KERN_IMAGE_START 0x010000UL #define RESET_PSW_MASK (PSW_MASK_SHORTPSW | PSW_MASK_64) =20 -typedef struct ResetInfo { - uint64_t ipl_psw; - uint32_t ipl_continue; -} ResetInfo; +static uint64_t *reset_psw =3D 0, save_psw, ipl_continue; =20 -static ResetInfo save; - -static void jump_to_IPL_2(void) +static void jump_to_IPL_addr(void) { - ResetInfo *current =3D 0; + __attribute__((noreturn)) void (*ipl)(void) =3D (void *)ipl_continue; + + /* Restore reset PSW */ + *reset_psw =3D save_psw; =20 - void (*ipl)(void) =3D (void *) (uint64_t) current->ipl_continue; - *current =3D save; - ipl(); /* should not return */ + ipl(); + /* should not return */ } =20 void jump_to_IPL_code(uint64_t address) @@ -46,15 +43,11 @@ void jump_to_IPL_code(uint64_t address) * content of non-BIOS memory after we loaded the guest, so we * save the original content and restore it in jump_to_IPL_2. */ - ResetInfo *current =3D 0; - - save =3D *current; - - current->ipl_psw =3D (uint64_t) &jump_to_IPL_2; - current->ipl_psw |=3D RESET_PSW_MASK; - current->ipl_continue =3D address & PSW_MASK_SHORT_ADDR; - - debug_print_int("set IPL addr to", current->ipl_continue); + save_psw =3D *reset_psw; + *reset_psw =3D (uint64_t) &jump_to_IPL_addr; + *reset_psw |=3D RESET_PSW_MASK; + ipl_continue =3D address; + debug_print_int("set IPL addr to", ipl_continue); =20 /* Ensure the guest output starts fresh */ sclp_print("\n"); --=20 2.18.2 From nobody Sat May 18 10:30:11 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1602009813; cv=none; d=zohomail.com; s=zohoarc; b=WHwigP3L3W1bZpDNrpSY7E9U3Zi5Di+7al3DnqToxrzTdF+B6M6v5wuDCntjWQhI0kOHuN6uUP7xmtxO07oQ8cTTr41hjhkX8me9+UjR9yv+EktNkTQNuIb1yttq3sO24mEue++2wjR6c7mN2IwKsb4JQ6bqPCONTGxhligtztU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602009813; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=WtwDc9uoIARLLDq0qD5HvAZGCav1uxxS0aRTtSBdIi8=; b=V/ns855KdOKNNA23QLwiWuBw776l4x02gKWpM/TWVDXRUN7D3gnc8UMpVA4vrMsHp3c3GFl+EtWZkos8h/jkAulUJ/dRIwhfnsmsNe2AT0JDJpJIeRSY/hxJ0E3ZtRZ3Fn148GcO7T0Lopcso/d9ydZt58d8Ylp5v9daYWY0260= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1602009813992844.2962426552006; Tue, 6 Oct 2020 11:43:33 -0700 (PDT) Received: from localhost ([::1]:38076 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kPrvw-0007Iu-O4 for importer@patchew.org; Tue, 06 Oct 2020 14:43:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57668) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kPrky-0003DT-0M for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:12 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:31419) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kPrku-0006TH-Ku for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:11 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-509-BHoNRXJ5M369xqDcUee2zQ-1; Tue, 06 Oct 2020 14:32:04 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 78C9556BE4; Tue, 6 Oct 2020 18:32:02 +0000 (UTC) Received: from thuth.com (ovpn-113-60.ams2.redhat.com [10.36.113.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id 842D66EF43; Tue, 6 Oct 2020 18:32:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602009126; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=WtwDc9uoIARLLDq0qD5HvAZGCav1uxxS0aRTtSBdIi8=; b=JE3SrRpcN7Dr4a1VAWoFX5bv6DezqyJQnMSwGRO22BhIbQTA5pjciPqot+q2Nnc3A756X6 FdV0df1gdLTC1sKWg7ebVSbfTKt7yrI45TkxK4HpHgYxwoVHxCPF093+Rw0Q8Iz9dtzDWH HE0kWgFqOpGiTOh/4fCoSH/9mvT1Vew= X-MC-Unique: BHoNRXJ5M369xqDcUee2zQ-1 From: Thomas Huth To: qemu-devel@nongnu.org, Peter Maydell Subject: [PULL 13/16] pc-bios: s390x: Use reset PSW if avaliable Date: Tue, 6 Oct 2020 20:31:19 +0200 Message-Id: <20201006183122.155609-14-thuth@redhat.com> In-Reply-To: <20201006183122.155609-1-thuth@redhat.com> References: <20201006183122.155609-1-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=thuth@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=216.205.24.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/06 00:55:20 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.733, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Christian Borntraeger , qemu-s390x@nongnu.org, Cornelia Huck , Marc Hartmayer , Janosch Frank Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Janosch Frank If a blob provides a reset PSW then we should use it instead of branching to the PSW address and using our own mask. Signed-off-by: Janosch Frank Reviewed-by: Thomas Huth Message-Id: <20201006094249.50640-4-frankja@linux.ibm.com> [thuth: Use Elvis operator to shorten long line] Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/bootmap.c | 6 ++++-- pc-bios/s390-ccw/jump2ipl.c | 26 +++++++++++++++++++------- pc-bios/s390-ccw/s390-ccw.h | 1 + 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/pc-bios/s390-ccw/bootmap.c b/pc-bios/s390-ccw/bootmap.c index 73471801de..44df7d16af 100644 --- a/pc-bios/s390-ccw/bootmap.c +++ b/pc-bios/s390-ccw/bootmap.c @@ -273,7 +273,8 @@ static void run_eckd_boot_script(block_number_t bmt_blo= ck_nr, =20 IPL_assert(bms->entry[i].type =3D=3D BOOT_SCRIPT_EXEC, "Unknown script entry type"); - jump_to_IPL_code(bms->entry[i].address.load_address); /* no return */ + write_reset_psw(bms->entry[i].address.load_address); /* no return */ + jump_to_IPL_code(0); /* no return */ } =20 static void ipl_eckd_cdl(void) @@ -527,7 +528,8 @@ static void zipl_run(ScsiBlockPtr *pte) IPL_assert(entry->component_type =3D=3D ZIPL_COMP_ENTRY_EXEC, "No EXEC= entry"); =20 /* should not return */ - jump_to_IPL_code(entry->compdat.load_psw & PSW_MASK_SHORT_ADDR); + write_reset_psw(entry->compdat.load_psw); + jump_to_IPL_code(0); } =20 static void ipl_scsi(void) diff --git a/pc-bios/s390-ccw/jump2ipl.c b/pc-bios/s390-ccw/jump2ipl.c index b6aad32def..fbae45b03c 100644 --- a/pc-bios/s390-ccw/jump2ipl.c +++ b/pc-bios/s390-ccw/jump2ipl.c @@ -12,15 +12,21 @@ =20 #define KERN_IMAGE_START 0x010000UL #define RESET_PSW_MASK (PSW_MASK_SHORTPSW | PSW_MASK_64) +#define RESET_PSW ((uint64_t)&jump_to_IPL_addr | RESET_PSW_MASK) =20 static uint64_t *reset_psw =3D 0, save_psw, ipl_continue; =20 +void write_reset_psw(uint64_t psw) +{ + *reset_psw =3D psw; +} + static void jump_to_IPL_addr(void) { __attribute__((noreturn)) void (*ipl)(void) =3D (void *)ipl_continue; =20 /* Restore reset PSW */ - *reset_psw =3D save_psw; + write_reset_psw(save_psw); =20 ipl(); /* should not return */ @@ -43,11 +49,12 @@ void jump_to_IPL_code(uint64_t address) * content of non-BIOS memory after we loaded the guest, so we * save the original content and restore it in jump_to_IPL_2. */ - save_psw =3D *reset_psw; - *reset_psw =3D (uint64_t) &jump_to_IPL_addr; - *reset_psw |=3D RESET_PSW_MASK; - ipl_continue =3D address; - debug_print_int("set IPL addr to", ipl_continue); + if (address) { + save_psw =3D *reset_psw; + write_reset_psw(RESET_PSW); + ipl_continue =3D address; + } + debug_print_int("set IPL addr to", address ?: *reset_psw & PSW_MASK_SH= ORT_ADDR); =20 /* Ensure the guest output starts fresh */ sclp_print("\n"); @@ -77,7 +84,12 @@ void jump_to_low_kernel(void) =20 /* Trying to get PSW at zero address */ if (*((uint64_t *)0) & RESET_PSW_MASK) { - jump_to_IPL_code((*((uint64_t *)0)) & PSW_MASK_SHORT_ADDR); + /* + * Surely nobody will try running directly from lowcore, so + * let's use 0 as an indication that we want to load the reset + * psw at 0x0 and not jump to the entry. + */ + jump_to_IPL_code(0); } =20 /* No other option left, so use the Linux kernel start address */ diff --git a/pc-bios/s390-ccw/s390-ccw.h b/pc-bios/s390-ccw/s390-ccw.h index 9b86c120b4..6cd92669e9 100644 --- a/pc-bios/s390-ccw/s390-ccw.h +++ b/pc-bios/s390-ccw/s390-ccw.h @@ -76,6 +76,7 @@ int virtio_read(ulong sector, void *load_addr); void zipl_load(void); =20 /* jump2ipl.c */ +void write_reset_psw(uint64_t psw); void jump_to_IPL_code(uint64_t address); void jump_to_low_kernel(void); =20 --=20 2.18.2 From nobody Sat May 18 10:30:11 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1602009615; cv=none; d=zohomail.com; s=zohoarc; b=KfdLsvYnsY6ADmMszGhKw9RNw6VfAh5DMQsUcsEaeioIplle5ZqDWVlKL+PMviUCAXUhNVKOt8gedcq8mibPbB4c9/Wg+cp8us0U9oDlVrDw/gJbOvs7nHcKDG1EvSXdW6kexc4GvWHVe4JQd5iUGJIbHCU3/aHXW286DrAjVtU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602009615; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=wzA/NKjQjDu4yvwdxTP5UjdOn7lcNmZtyqys79a2g2o=; b=WhQ7tBuAnv5oFcUt5Qny7l00mMNz2cWN1laAOr9iI+xHiQDq3kE4OyIgpuyNbFkzJYTm4Ym3UYsDRhmH/0Mptikjp2Zp4Vfm6kegoMxLx4C1F+ernn7P0ER6zdTIVpZMMd7KVPAW2rA6E1TRa5PIyNfgv9IpyEjVCGRP9gGWvoQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1602009615294797.9528029515234; Tue, 6 Oct 2020 11:40:15 -0700 (PDT) Received: from localhost ([::1]:58080 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kPrsj-0003oE-Tr for importer@patchew.org; Tue, 06 Oct 2020 14:40:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57704) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kPrkz-0003JA-UU for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:14 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:36045) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kPrkx-0006Tz-5m for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:13 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-496-EYS2Ok7yOpiDU4xLJy9f6w-1; Tue, 06 Oct 2020 14:32:06 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B6B6487951A; Tue, 6 Oct 2020 18:32:04 +0000 (UTC) Received: from thuth.com (ovpn-113-60.ams2.redhat.com [10.36.113.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id CA4726EF43; Tue, 6 Oct 2020 18:32:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602009130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=wzA/NKjQjDu4yvwdxTP5UjdOn7lcNmZtyqys79a2g2o=; b=SdKWNKd/PNFnkpqmDamAsTE0JpqMyqorGMFYVxbOfNEdSUnR2T1izHbZjpyYafMPs7PW1m FdeOcSCuzO6JGlKsyS+kb38Qd7oCj9lO83tbQtLGag0gG26u0gsmbt3pa0IEgmqklOfQSA 1M4yJkQNVDwTypEzyoM94nYnzE0a04c= X-MC-Unique: EYS2Ok7yOpiDU4xLJy9f6w-1 From: Thomas Huth To: qemu-devel@nongnu.org, Peter Maydell Subject: [PULL 14/16] pc-bios: s390x: Go into disabled wait when encountering a PGM exception Date: Tue, 6 Oct 2020 20:31:20 +0200 Message-Id: <20201006183122.155609-15-thuth@redhat.com> In-Reply-To: <20201006183122.155609-1-thuth@redhat.com> References: <20201006183122.155609-1-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=thuth@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=63.128.21.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/06 01:55:55 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.733, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Christian Borntraeger , qemu-s390x@nongnu.org, Cornelia Huck , Marc Hartmayer , Janosch Frank Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Janosch Frank Let's setup a PGM PSW, so we won't load 0s when a program exception happens. Instead we'll load a disabled wait PSW. Signed-off-by: Janosch Frank Reviewed-by: Christian Borntraeger Reviewed-by: Thomas Huth Message-Id: <20201006094249.50640-5-frankja@linux.ibm.com> Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/start.S | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pc-bios/s390-ccw/start.S b/pc-bios/s390-ccw/start.S index ce519300a1..4d5ad21653 100644 --- a/pc-bios/s390-ccw/start.S +++ b/pc-bios/s390-ccw/start.S @@ -34,7 +34,10 @@ remainder: larl %r2,memsetxc ex %r3,0(%r2) done: - j main /* And call C */ + /* set up a pgm exception disabled wait psw */ + larl %r2, disabled_wait_psw + mvc 0x01d0(16), 0(%r2) + j main /* And call C */ =20 memsetxc: xc 0(1,%r1),0(%r1) --=20 2.18.2 From nobody Sat May 18 10:30:11 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1602009927; cv=none; d=zohomail.com; s=zohoarc; b=dpuFo2z4FfEHvVhTAmx4dEtC5t84e4XkVY0K3Tp3+BDxicipKnY3G6pLTn751OoXj1ULmd2ZGZqXU6Kf+JfHeHCjLWsotr7HnRbFOTM/K9Dht7Gfu5NQ6nJFoQb4C2ZVqMH/KYOyvb68mumHlDhhKaAbRWpB1DrG0kYT3zXL6Js= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602009927; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=qSaVP8r5oEZ2m0q9hrJ7jKKpdVUPki3SiaMNovjemoE=; b=NjP6XiBi+oOPACKXb/NrrYEujhvS0RAN66AbPU4FEVjX3R1NZXmWICoyo2+GqUucWAdpLlUYhQdvqSfh3NHHeQn5Ubj5ivu5QNinqZDa+wokN3L3ebe6JqFzzxWMQjCR9/B3gZi48FLn0z/TPttIbRpjZ3VaxeAa+JLfckwNTu0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1602009927727333.188657974452; Tue, 6 Oct 2020 11:45:27 -0700 (PDT) Received: from localhost ([::1]:46048 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kPrxl-00025y-Lf for importer@patchew.org; Tue, 06 Oct 2020 14:45:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57776) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kPrl8-0003XS-Kb for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:26 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:54788) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kPrl1-0006Vn-Jk for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:22 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-43-z6PM9CHWOrmt2ivrGCC0DA-1; Tue, 06 Oct 2020 14:32:09 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 287E718A8223; Tue, 6 Oct 2020 18:32:08 +0000 (UTC) Received: from thuth.com (ovpn-113-60.ams2.redhat.com [10.36.113.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id 216FE6EF43; Tue, 6 Oct 2020 18:32:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602009134; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=qSaVP8r5oEZ2m0q9hrJ7jKKpdVUPki3SiaMNovjemoE=; b=A4OPbMZNjouzv1MliiB9OYDCAJ5Ywhne84AJ66rSgWR04XBEyVmhocGXsOz3MfkYolkP70 CwpvAlskkDqbA36wDD0IdaDOTls5CB849COX1IWA3ghgkcMiG2+wKCFTvLqDry1KOf5ehq tAIh+YWYImQC41je3IOT3CXW5hTwlDk= X-MC-Unique: z6PM9CHWOrmt2ivrGCC0DA-1 From: Thomas Huth To: qemu-devel@nongnu.org, Peter Maydell Subject: [PULL 15/16] pc-bios/s390: Update the s390-ccw bios binaries Date: Tue, 6 Oct 2020 20:31:21 +0200 Message-Id: <20201006183122.155609-16-thuth@redhat.com> In-Reply-To: <20201006183122.155609-1-thuth@redhat.com> References: <20201006183122.155609-1-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=thuth@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=216.205.24.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/06 00:55:20 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.733, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Christian Borntraeger , qemu-s390x@nongnu.org, Cornelia Huck , Marc Hartmayer , Janosch Frank Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Make sure that the binaries match the current state of the sources. Signed-off-by: Thomas Huth --- pc-bios/s390-ccw.img | Bin 42608 -> 42608 bytes pc-bios/s390-netboot.img | Bin 67232 -> 67232 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/pc-bios/s390-ccw.img b/pc-bios/s390-ccw.img index 3074686a8c7448d943aa62f810d88d3e92865ef3..5b57ea2837680ca6f6e98e7703b= 89818fd8fb316 100644 GIT binary patch literal 42608 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 M*2pCE*Bnp$A1vB}761SM diff --git a/pc-bios/s390-netboot.img b/pc-bios/s390-netboot.img index d9c319604b1b37660cc085c62915b25b9abd7abd..3dfce693f595a39daa5b22c7582= 3818eb8062303 100644 GIT binary patch delta 27217 zcmb__2Yggj_Wyk^lR}?_lu1I8NpCswP?6X`MaD>FCFEsW7FTqvsg zUI_o;RaPNpJkaOBVqPRKFlCPAFQjXstoURi#1{?T|yw866Tk zha_loLSlaa1&ICw-^CMBm*$0sO{Xm&|n=3Dw7H^@ zwpKLOEW!jJ-N3zYntyqe`)t(OdcBtUTCtMNed4*#V);XGY|yM;oOw_-4Y8_Y?viao z!qqVoWZ#gCq}!KNs^VU)Sbf)Fb$K_YdW6=3D`EDX-dsN1+1a%D(=3Dbz(nxG-OZcECJ}s zwj8P{I9*kU=3Dk{`IOIxdL9ktOSlq9;XO}$Wtra@r))D~somca@3e2}We3X=3Dus6i3K| zT9Oh>q~3jsfcf!ot3$zD0HJqVf0-*n>)GqHv7TXS+jX^^5Neq)bFcQW*GmO=3Dbk|nb zt*e*U%s05K9RZ)YpP$DuB7b`J%cXBM6aaI$#Yt`vt<~05x~(;7BAoKQPRUO~(}HGh zpv=3D?@(iCP5nfWYd{)?6mS3xyAHb!;|OH$(#<+!l4fv--a+A&_#D6funn`?qZ5^!WY z!XeLoLS!ZTw^NhB?$mo-0knwO1+1^tx+KFI1qPrSZngAr1N8xqjrUida6UKz4VFE!p1FT z*0-2ZP5G%dwAhu85vU9m2~?6c08rngr}h(jhJJYnWBw{(ne*2iY0RU^d6!!49UR*-a|{0Qa&B!F2Y2FL@J z^k#hz2PzdtNf)U`CO6AQiN`33lN}<{WI<$Cb;?A!E^>i#yR=3D4)QzzHTc~R|~g&X*t zLQMWlz8lq1`AybFO;9JVki(;UMQ+qKd+V^Sl&}}IeIkMsXB9P_A-6{NR44b7C!%{R zqol3Xq;``Zs`}pR_4d_8i6;jUKJ7Cu?MB~q%>o0fU-0B%unuA2{Y&m^b+>X#wu@=3Dk zd~z#pwv@P<+(|Z%O;9Ii$<;A~)k!t-hnN&~(s3@F^sQdFR?d&@8Zzk)2Kz1XKx9ol zBoD@JRi{2CAC1d*O|o$92&%1~?Xig@?ZU;imPsJ+V|?b|^Td(cYl3Qm9A?jP(*KU~ znjp8?Q_ibz4C?dn>1;`1ID=3DSAmTAR76KHGjpM@14EJ`sy6EFkKqEwp`Gy=3DOxQ?1y) zKnoUQRZQCe>>aAMFNoLB#4icZrSVX{e%0Y3STwCH5+Nj|iQC;)LJQI zDD+f0ifU#a_OF?1rA1@GC$*{^tzVK~SO@1#e44=3DpV^5imD$HL1Z)^z%c<(|pngh5F zka;4#pNjPtMBvSWz?vDX{My>T=3Dfn}z{o?+5Ko|eIG0y7+i0~T);hG5T2N1R zt*lae$RjF4d%{@A7gn|{YK5uykRnBkhVd{&c&SrmyvWv){AxjD2s*dy-M&a@{e_a7 zJrAqe`<*OE40VOH(XxeIn-e@5sa2cP;x(jZ-gmNKHuphEzd)N6ecaG4 zm1)`#SP^qfy|p2v%>4d|wcOElqzvlLl0$pwxYdA=3DsO2@#WDcjU$s9gS7Oy3V#=3DS$F zA~ytTvMZEGt@npKn-5!dkdCcN%Qg{~fm*goSlemY3R3@}P+vtz_aU`wa~hkzz=3DKtr z6JTO;<~AVbvHuHlgqfH(eF!YjgQj6fp~y@TNTCP)vynm%2JXPN?bRaXoYq;c_y#l# z{a{M^pwUQ) zyfD(cuG8-{pseHn2W2o`uA*!O5P>rPACVGedyx`lLy&?p|GSZfL2&-rcmQR}Mx>xj zxr->XogR%<(3C9(-;UrY^6YVxdOp2sM<4|lDGQSZ+sB@#xqLbT=3DFZ{z`Ft8SJvQVU z*NS6tzVLc~^8xtn9{{lF#sRp-vSR;jc|8TcE!MuyDdo-o>-a!2onb=3DW<}3GJD6POE1VpW7#)MZt=3Dq8ptM)E&Z`GnXt)!Votbpd!ldEQ6a|Op?yyF z#MS1+(d(EK=3DWYWrhB)V&i@#wgl;P_1g;WZpz zh43nTu7(C}{y%*j<~I=3DWb?sTP@Ao*oA&D}B`7diOwxDllOc(xd9A3fTSRaGN9CB%7 zv0pohXbkgzk3)U(TzH)JHhwO?aQKhKY!IPy-Lt{4x-KuBYl*;2R(Ag$*9H;GjI_6r zcDo5ex@r%(cn#mklB%E4H#xx?az5&O1I~5EUDp>sao+m(IKOcYM{T$U;Z^ut#tDrO zcKzi)7iOucc0%H|tIcojaj{|pOf#0xipuF!{8t2|0n+t;h&hOx`%E=3Dl7aAdmuJ2H$9}H_0ij`~{-Mowl?m0*z!<*q&k$br z2r6`*VEx}vAvDkjXOGL*brS>(`kx4JUDrN8 zJ4`3w%ztrCvGQ~A*;{Ucm{B)Mj0<*N!DVq=3DsSOPxDvfjy9h!7v&TP4HVupS72gJA( z?WRsHXC@oO%rMe=3DNxh-xPkUjkw7;aC z0lGvN!*H<7nwpeM%u8J`F8HDCFDdodi!`{47#RU+Lnmx#vbuTA1Hq zuU^A1DW&VNJ0VFSr|e|`H{|!m1Pm^R6=3D*;5fyUmDM}x&EDJSo&7kgc$mzLHe<>9&z#CYDwzz=3Dp2UekL}&orl05=3DjK6Gdi%ii0ICS2J{@urW zmj-hy`>0&er)8}21E7WSZ0d;FM5JV2o=3DpU8)RoZs`Jgozyz5FbNu`}yhfOo}DnVX{ z(z|`IuSaPoAG8~ybjT?mv_GYk4bhvRbjasE*w<2;qU8M^rTWZ0^$N}0Yxy7Y(H}w` z`6o~xs)su5iV+*q*9Y}a<-n@$x^gfmPtntp7p{-X`P=3D^;u9IIIxOUa!ntTOc&UH6| zYoJedSI^+2*PI`ncgWESrtkr4`q{Y4wVlM>LucL+&9nB*K~q@(o3 zb-1wFLfs5v{L$)Gv?c>8!)f+x$u071XQCo0Tu8~yw|TbYn@dGyoJb6f$9HgOOQ*Gz z7^&|Y%za(xOdT&?0=3Dk{(nu*I_leUa_KtRz#q_y7n_r`(hePS!(D8+-dxMtIE%~oNF zUSvk(OsELfg3Q7xJbRctMD99*3kelP0p)>AvJNur6`r^4!t*Xt4Jk!KAPgpkk?$p{ z#a4johL9Y6x+P-%O7DQzT$shCd}}%RX8So4&1nGGk^pkg{@imQ&2M9NQ>;LSAtwdb zW-p_CHn)XDfn@+@j}0qrHibe2))Vmt)CtC_-Hu*>rHE zYbLaXT}$^rOW}dNref1*har!~u&G)<|Fb>`r)jTy$q}#1+h1RMbbSSk$4P=3DjOI|<1 zcr2XhLVPEl&HSwKb7T7c?n`djflHL`T-}p0?hE|PM7w|ErXMm-fw~p~Q*937e5ITw$m2}5KYL05CPX-N34xB}T=3D(9+6!1JyAe4i{B77^HqpQp%q!xCL(h@jg9M^;us1-EJ^3+yP}xs zC@i%jj9$2HR9b10*5QGHnRGuqwpg|ueyd`V4-6k0_o;7JN&%)r^(&)aCBf{yMS6xu z=3Dln?g9(}!jQXbtwSo`I1DXZac9)lq3NSGL(?H(t_6T}TjmVHKKs3lEg;fRE$0~Ao7 zPt$I3t$cpOV0G*gd2+-IrKcP-GG1vT9~~K^#O``#=3De;L1Qu% zxb$ffLI<=3DTpQ|qS$d|{T zw=3DBPaL0RD_eJQ-GcLlwlz%LtQ|6T5x5TgkB>4Z3CE1p~RZ~v{^T!El5$BqgWU7k0j z!;_6hvu_W)gh2KXb!N&;1vVXb@fYIc3nqlq$P_UMx_%rg$3pq%%BS4 zuvXZKp`{OU-@&qM;)K3S_Yqh^15L2WVM7xFj~x)ylJZxUa8$i5icuAN%VET9fD}4& z-9~EHx{K^IDK>lwR6ky!8KLR!uanH`LV4GuF8!C@Q!lr6P=3DA0qQA<-4gD|VzTG6U3 zpdz+RR4gPAAyEwncPUFQ`)pM?=3Do%nTOo|Eo6lS5aw6io%&KR>ai@KQGxt-8Z;qHQp ztA=3DP_kPEKv{*ebO`K*IBAph`ZK zA5D%58qSPne=3DbiPjE|O@Fs`dQBgs!PGBcQ z`8<8-l_IKN-dGk)O-U)aly9yuJBoB1CBHbyb~K4Jl;YhM(%I-ZL~flL(>d4ZK0?d! z@Jd^DfDs)m^RtTl#CN_Vy4|of1#6lxm1-AnFS{c#ee^2fsl+r3K}wrjbG$sW&uG>e z&-;yMha7mv*X>F&^PLsEP)d^OSGLm$9L`_%&=3De|(abg(~Wmy%3qXg@FTIAR()^`c7 z@2r;{6}5*NtZx=3DXRtW?~I#F4C!eKrANtxg2V+?J%ul#G2A1YIRQ@MPBJT$H6q{Z)3 zrrCbuOyJW1i?{2#foema;}CmO{j^#9B9)q7E>mGgr@@S`_4+})-GHcwSXs=3D|s!d}S zmA@>U9-6o4JauV(j*1r5Vi1d9d_GTSy!ujP)H+bw1+_f2 z7S?h7V+4EQS(;ktAEC1nu!ri}K8uoEhwWEZYm4sS_B{+((GJ@$2Q!G!gIxYy{mJu^0H z>BH11WIQCaTN{kC7+wzG>Y4K3%vP?Ya7I8-ryJPgr*z-JmD;G+4s6LZ!n?|ZonB=3DU zeds-_GNP+QWAA(t@~nG&4wXu(8=3D(7zq)4aaCS354Bthq9Uio%`LxK{>O6FH-< z>ClQh44~H<>f77tD91~%buYcW(v^`~edX=3D(zEq}#j1ZC2!dIGRv~E>pYmN$9LOPgM z^7P&Ifx6zyNFpg=3D;iGTwYKH|X0<10x!(?S;k$!?%Z$@;bpN5I-t&A7(m^!CvZzxe{ zFDf%~56srMyDesUcv~4sLN>f6zq#Lb0*3;;;B!f}TW$;PVhfzEN z8!MLffF(&Zqn21`qvtjudOa}(PWoejrvrjg!aEMxgqQw-??&EVVf=3Dc%zkDMX&Q1^h z1%}%`aThwUz0_p0d~bI9z-j{3DP5i{jHR(=3Dsia3@C06@#A@C;D*8PJqkf6~W7^Y!* zJwtTo{+DTLNr2KwM54#L^xW|m0xB04Mkj+BdS;Vev=3Dur+Yfs7H+R^cHty9EA}4ww^E@V!Y=3DInFY&!NmUvwF zEMZJ5kc02-I@R>(xPgYr;Ct&_l;CiMlqtg`$`d3a76Wmwt$ZPn$|r0xFOCek{^%VOdTfnJ_i zX%#Dw^ALeSm4G!GpWKbTp8SfKUBXMU(IS)$z=3Dz%zQ`04 zXofs`f2!*UuuKBncOilRs$KRK_xdY`Bd><7^8l9~rg}hNGbC*{oixPLd*kk~(7v?n zugI05wlm`Z^aS__K<9AeeRMjk1*~ryC8Lz7bXdm}@F6fQ%~=3D6Zn7pU9@b_?>^@I57 zL0%hA*8>j9TBR05V(@>pWMWKNxh|tOSXr11Zxi{)*jP5Lpi;_#S!S!5Lv*o>ZsM zllBBYStLCt2hMGe6K~Pn7zJmzxiezkMO|u{@USeBUU00Zo!PsG#&hWunetFc^kTF~ zciSsWVg)8y8oV!Ov3JzsG%`dUc&Kya-LTRvXw!)(gQLNyO_?ZLJ)GKRki%B)hZ;YJ z)$=3DMbozh3McqyW%n;kAd)C8fXoNGGE!iR^eOV-H`9=3DxZ08!`Y64k=3DvZFr?G57RlK^VvZM>TdhGU%efg}1+P zfI+RlmgN04sxkz2x%U)gBRb6iIcY>lVrOIA#&J3AJzO6DEDSYSb)IGS#@8`; z77-J+1JDjgk1IyWkh@j ziF~e6p31be2d5<{G1LdfZKvE?6z4Z5Fi;*S>NVs?)MbD-xk+ zR2STe>Cu0|SY?BJdBH8XMmn(|GL>H)Iscra!czgrL&;KENIIOB5so;73$GG>FIyMK zc32o(*2HrZ>ViEZ@k8Mi#HAJd`NwDx2%$_wC+ge|ZB9^0yj{*KPE*hN$xX#^gU*nl z_0*wUYXvKl#8Y@ucyNExty$z%U4t2CYoA5X!Jjyzh5FQ1S_)4slA%x7l6s#7vjOln z!j(@zaRWD&zu~Ua#U%bKr$3RQ9>>}IiTO2?f?IhJf7-(0H@4kxl^AAtU)Qine+eQx()C$v*Qp>{F4w?J^-)xwOmVLj{AV5qMu*=3DPhvVL zPc9*89cxZg6GPsX@B4Ow!^A{FOf#Zw6YsRxP zd<9ROq80%oQIM*fmxmW-=3DbQr{w5if04FK1;&>>00{!CH>(Q4~w3@54;&t-UPh?&MWCQ5mU-jPPbru>V$93%xcVb z*kLvEDI$j6h(!x$k=3DeriUIav8BQ=3D(*>ZR%kWowC zb;ZEV0hFoSm5eUxN~b5a(OX<|8fCZQ(~Zma(0H^uODr^c#gdBnt>(0LsO7Qy`8&3L zgFEKHjM&GsiVN{+csSqbr0ZbeblRFa%{DX6 z2OVHys~NN9%BAV!)uw|SPXig2Y}TjDJMX_2w>rv8$pFuFJ4qgR%3vmlv4`u)cUVgy zB@q9Z_Au;Snna<@7!!91(pZ+I^q2jYt+_=3D_e_tOfF@)$!e;v50L=3DsU(LP*~o*)qS# zN*2pwc-ud|I#(!QGf3oC_YsXmv#N5THhD&-EPte#+GK1!#Xa}SZOc<5KXyD_E*$1k zqB6do2dIz}^5pVpm)ay1Kj-l*jt+Iu@P7IcqRz`yq_CiCajnJDN{?mRDV%N&+=3DuD| z8QR{nG1e-gLPp@G2*=3Dx43;Fj&&shuYIDO>{SLiLYMAGVV?PfnMPZ4&zS(HsMt9Gl| zxH24%TG;fE5pk^Q5U=3D~Pn13G zr=3D~t63+0ID{gB$jZhJZ27N-#g-O7T&H0qJd1VmR*NCCZ-l5Fj=3DT!^hy#1G&wIkOC77izwYf-(HxUt5KW2{J5iU? zO&+6OL8-Fo>P3yzJDiZ7#?`5JOi5yg@BL6hu0}mm^r99$KO%%{OZg$ zCs4|JgR``#xx-q-h$Fsr78KF0L52|B?(hzM_B}atO=3Ds6RCUGv$EH;}gVML~PI>-*9 zIvtM?5gQ$rRTp*NhWGCTjcSQd6U!=3DM6|rLKOE}ziOdtB?B-LbR>h7bu#%*cGa;Kq=3D zjL;ksUHIjD&Wu;I3w0i9n4BPE*N#v+$~kMNWvWRHrULf25Xg>(NKM+u*PAA-7j!jH zCGC*`Pp=3Dxb18wLO5)JYwOo9!E@YNuztHBN%SK-egXLi^;lo{3nhB#x~M#U53&JSUV=3DFiA{;aM1R_e ziTA{&Zl|5Zh*Jmm5c0`&t@~yqLxgmRp(ch}TISo!MRe$BtZ5v4M3-(*tI04=3D)I^#` zyY|KvkuJ)v?j{=3DRKgyNXpTrRNmOQ(zASjJp@{u3Qg6EQg(%IJ&caL21TyhIF;caRc zT1JQyUX)eOby7RMA0$iL-=3DZT>cujorty_(Do&gO#M0|O9j0|DxEs+h2NYGS1gr;j`(Sh z^|Y^mydYvVp&7#um0vuc)rKxpcjCjwaPamhj>1aqLal>0q5Lr6kH>OCzFc;Cp@-{n zM?nGq%nEAhY(Zu?6hE$Y_PDJ@G`^W|c2oPAj-3T`z|&z*HGG(4aZo=3DV`<4`=3DtJjZk z?1UL>#nGDGBEf@<_PH2kk@9hU4_C`4xY6GkMK`098V?f;DBCyaq{h#$@6>Vz38&*a z>{I>pBP(iBY5K(9ujiY6i>YU!J1Ng+Jjn@KQ`~E=3DN6X6s@{5XL38gSP^F>rnVhIf* z^yXT*tUSg~jqfG5l}F#I#&>mCt#*u66xSX!z>)igc{aZvMUG^V!pg$@F6Y#E9B%>Z z4dgHzPDD%di_xQ0EB(MvHs&@$E>Jq&ko7a76Al|{yh+DY_r>KoL6^I!Kl98e0P`NV z840fC;rT1(i%ZpdP|klbwOKoY`1yZmZdfh(#Bp@x>Z1!`G=3D+wBc)gXl&4C3hu`T5N7GI3n2wDexQ! z>5JH@^-!;exGkT7TC60f;I^?NK|kDtyg{=3Dz?psSct*gB2r8dcG+=3DsN^*sZj=3DUY_r9 z>~;-a$*o_KZ@<)2ZU36Q_)=3Dnw8uvuAZ@G9Dtbwz%cWRrwY=3DFhxDZ6g~dvOC~;fClQ zYFq~z)VN#pxsh*!g<^QBEs0u&w^sKfF|0OGNuvqUKGB-Kl+g>DiA5C||!6{adz%QnfJr;YMdd2>fkKjPKBH*3EuOHPi-W5^pv?$TkiJHiG zt&ez|e}HMl#w@Ql62Fj9M>kYz>^|KLtQ*C-*TC5sgR?W3c(+oiD|R!A&l$z%P~4px zzkt&7M(KH!W^?IElwL4ODaIg$OBbQ^qEUJgrO{kE52crk(n}~clOZ1a$llwXP@|X5 z!T3?aI%+cO<+Mg>>|pLPLKeInIZBP~2Z`c^1sVekbnT_Dxwb7Sb6x5*)iDX;-34Zg zpvWjS7Dpibazr7i!Pr~`*TuuC<)hb+J-K%asLaUrYOIyo{Wzc7wMDy*Xg4db9J;-> z?lzn#PDh8(+K)MBiKl)sa0qGfE!3EAX$i#q#AR+dP)l~HF@M7}b@I|latnCv=3D@vqb zIfNe+5KjCfhGQ!2qCnt|LXFwxD=3D$ax1sdU)XS95;*X}Ij4LN27&^jd>QnMTUlu;qPj?(G(6XAf!B%RQ1E*s16I3UAj|EK??+E3@o2R5ZD1LgDho-04t zbbsKTTpl8GU&#nc;9m%gd`!-HWoS@bV_MOXPI>T^rvmr#b0ax!b9!cXLkD~Zv60!6 zLv>C4F_?6sguAMK)i-@sR%{L%P>A;Hp-BQ(jV-6GcRJ{8Ti>S1M5FdADuut9-5gCu zqLj4HUr?HbwyaB=3D43Oq69U~Vak7zRE@REn=3D6hJ&2JuW9~No_K{9&*SQS-K@U;u0X0 z0n*}zkQ)CY-`kSzLM$svm(E5td9ig;niJ3n@`LF>Q;Zf5 z)wi&o_j{i_bcWV9F+7^npf=3D6zzC^lS~w3DgFAFF{T}Aiaom zGSUl3A3=3DH^>77W=3DA$=3DU_S)@-RJ%jWq+4I#1R}^wbkh_TVQwu!IN~U4wQ3$dT>}7G_ zbmGsa6Bm|^ux`{WHh(AfES@*xAs0335h6I4!WGmgY}^%O?WK9wK=3DXW#)(AK)fTH$3 zje23-?>0M8Ul}SteKpwiy`Dp@L~Fzn+d>#NwLIyoTYuSNDi8Q7m!R?ioP7J>yz7VaF1p5#btfS) z-TDiRHWEY}wc#fxp6=3DnN7(C77r$jtW<0qVVy_5K<9iGMmV(HMI%-9(mk!c-Q&LU!?M&-}vC% z3BRv9hc5wmMaQk-y8m)rp07tKmwxHXv+)|b$ACPW#39vP>4A4}yVqsAT{(gM`FXXx zch^#-bJ_0XoKVN+3g$n~K~3bX?H=3DPieKY2Gxv77-K)|>&-*phe#TdIBK zPsuKonQ_lKqCDFiZ&nBjq9CIdYl?I``xb(h$@!H%l-aVXGOWcEl+uZVYfNy^RQ8M5 zW57;FFS=3Du8jDD}mK5u3!5wh^j) zRjl6V^%;8AWV$r(jZ}V+8GAd9Z2`EGP=3D+`KaIr_Ds8C#8a*l37+acE+)TTMC1+0_& z=3DzNPKyx046HlQL_*b=3D|UD*U3?eBkWO;X-u5xYztg4&TIz@lsLG0% zP@PCVa(tJIB#b~g!Tx!#99R{t+#;t}b#5^lbkI6F&NYqYwyGGVr94m-IsO;@I^lH- z$qEqvN-{~Nv$}{}dU<@C&DZPeT2?3G0@uI=3DKDq#31wlPQSEGD{uKolYz^imH-qrIj z%l(3nQU!!gLD`rR_-*>H_k9>lo|E|vN@vQ~-_HrY4W;WFl-|1YgBFUbjU&`1aKfdy zr_|~#9t4`B-EQqI+-0evkE5GSINpL?j{9T&owXpLSe(&AdcSBBxi2DGn_gOqM%#EX z950mBG6Yi~y?NM&+6OMP456Pu>#d-@Vl~?1vK;LLw^@cH{9Yx1eNW30m$}nFEbFU9 zc@N>WghpX4NvM@i<3QC#_*-% z!*~CXBgcyKTsamVh|kvcDSc=3DrHMwV3?EytqJo5CxUh#*hsPP~T2U{Lsib0V28HIo} z?!If}KbI;9f*AO(R%QPhpiIO=3DDqb#`^RF!BPPySjH0Ru<_$G{v z;DQL&YK2pKmVg)ObZp6u#NhN1$kI_2TRN!E~HJa&uvS7aMF1mdIHV6)gKVhjPm%8-pe z?j3_c0x&c7PPl#nj2%uGA)4;*%XuG9Rzl=3D=3DA7{D_^G{MH;VR}REYM=3DSEzPfND198} z8k^P)44FOqvB2<))|h?8d@)7y@G+DhqE}qNZYf6G8=3D4L4x>%&3E)bCh&2W&dz}(#+ zVzizj87^^BAyhj*7r*iBE@axe#0VfD5RSq^g$t7y&>ZjAWuj2N`pG^Fde0?VG3$N$~gRRj?dtw%68srbQ9 z%+y@`EbFR9HG%F5#-F6l$7^`|FsLo*S4*9E&W*3JS<(!J_6mA$0oGSB%+KJtGbH^2 zr05MLXge^oGs8k1g*L@qWP?hB5<3W3!FY=3DjhIRm163yR|8$L}419SA7;7Mi4^}IWZ zisXMj9T|gnf^ZHu;cYmxdzTe2?KpxVcnliQ<;cNDQkB*6fg=3Df>O0lcKq4T{?n?e5^ z?^ri+X~JdCS;)sE9syjuf>GBOR0dhnq zJM<_*2Tr@nq|dTa=3D_wn5r|5xxhxC4zmRiybytQ>TSi7oh`$Z(8M^=3D88l};BRn1kT4 z5wlI2E)z^C?gGrcB1g7P|D}QQ#AlX)1~aW204&#*iJlvmNg00W9 zsn(l|(W$+(xISO^cyFssB~~0Zn+iDh=3D|o?8$S7B?D!&`!m^d8{lS2q!k3omw`1E$$ zkfkA>j)9;XMVoy7KhxES2W8Ng16>hL{Q}+aXzAB*>+>scvcq8i@;)Hw?r;PXQOUY0 zs6r9Z5#>95UNDuEZBxmrk>B`Q_o}Wwu#GghCP6FJ?=3D$oaaa+-W-tWpJFG+|a*h&Y< z5Wj<1DWTZ00^DXa!25I>{6c|suyj?wDp~hswlYoHz6w{@-M%aDD|2wfh`|E}-!^Kn zm^F2d_5NA+PMtV;`ou{yr^-i8_G@|H?ECMXJk@&d?EB|TwcauD&Y4rE?E34;eTvJ3 z5HbAiKB=3Dd>?$XoUpBd?USCwxS{vya<3Za+3v&2Z}8|hplon@p`jC4#ht95wa;m)qs zp;ISMz4L*oQ>@ANS<`mac@#gF(fK>r_w@Har$78}{at^C@P}49;O}$)7{T``f86f- z#@FpX*877Yfn)Gb(cjesx%XdL{=3D0-2!&u+ny?a;wZ{tjIcU`nnC=3Db=3DeDV?RKE-QGG z(Eoyr)FW-)EV<*i5hnUylveyDR37j)u}-JjK;u6ts{c=3Dk>i-j>!1;%EdA%)E<+C;T zic>y+BTH2x6!mcanmj*cuhM-@kV)yKRISM~DOtgVIwC(K6`j{Cq+){(zj}H+YxbLz zwjqb%S*5@4jMOq^O_0Bm)o71iT(@V9-Cyaf|A$VPiAJ%=3DTeHw#nWz4(a7|EvviAQ0 Dm+ZK? delta 25511 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 Ri~N-bbz2UtFa#(o{~zA!vo-(# --=20 2.18.2 From nobody Sat May 18 10:30:11 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1602009817; cv=none; d=zohomail.com; s=zohoarc; b=GRNbiXrLM8HJy5TNYAE+72p4rUWO+yfl0lg3rFZjTALsutkn7ILujqu+HwnIGdCmQ7gBjpwksrcgiIq/5t6QMrdkjvpvxiYfrhYMkI5mudKK0El9CfGdqVhv5UXYfDC+crNa4KLKrpp4Iuut+8pWK45+Ey475Bxvpk8F4JCGhvU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602009817; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=fD5E2K+868OB2LS0wj4I/F+lGpAXgFollDxn0a6UnOs=; b=g+9j+HPd7vwVWPpuL5d25ioAEKV0cO/LXivz9c1BPj/6x3MhOL7AUM9qj5GnNRwJtxm4nbLantvGyi39AifRoyvafII2bYQZ2fJjDo+922NFZTeJ/2nnn1BvqsKlZuS2PFKieyV8/xh0h8PIpcK2JBF2t8XoylV9oKNpQIuRaM4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1602009817074526.0047672130689; Tue, 6 Oct 2020 11:43:37 -0700 (PDT) Received: from localhost ([::1]:38404 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kPrvz-0007Qs-Pt for importer@patchew.org; Tue, 06 Oct 2020 14:43:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57730) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kPrl4-0003Te-3b for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:18 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:32774) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kPrl2-0006Vt-5e for qemu-devel@nongnu.org; Tue, 06 Oct 2020 14:32:17 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-368-TEEeXkMmMjebduS5hsOPig-1; Tue, 06 Oct 2020 14:32:12 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id DFDD810BBEC0; Tue, 6 Oct 2020 18:32:10 +0000 (UTC) Received: from thuth.com (ovpn-113-60.ams2.redhat.com [10.36.113.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7F2496EF43; Tue, 6 Oct 2020 18:32:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602009135; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=fD5E2K+868OB2LS0wj4I/F+lGpAXgFollDxn0a6UnOs=; b=Ln59PI2QJ2fnEiEbo0TpODyrLoZHKVfu77Ut21EmRxcfoGpJ8XGjUOBPZXK7m84yIksbIJ mNR0a2ZpBX8J0R3ZdoCixm3AHlz0KlTq8zjC57FVEsh22Q0sGiboTOyYFkv2mQvTn8l2B2 EdPRGyRnlk5nSN+BQa2fR0AmXRBnQnQ= X-MC-Unique: TEEeXkMmMjebduS5hsOPig-1 From: Thomas Huth To: qemu-devel@nongnu.org, Peter Maydell Subject: [PULL 16/16] tests/qtest/cdrom: Add more s390x-related boot tests Date: Tue, 6 Oct 2020 20:31:22 +0200 Message-Id: <20201006183122.155609-17-thuth@redhat.com> In-Reply-To: <20201006183122.155609-1-thuth@redhat.com> References: <20201006183122.155609-1-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=thuth@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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=63.128.21.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/06 01:55:55 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.733, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Christian Borntraeger , qemu-s390x@nongnu.org, Cornelia Huck , Marc Hartmayer , Janosch Frank Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Let's add two new tests: 1) Booting with "bootindex" is the architected default behavior on the s390x target, so we should have at least one test that is using the "bootindex" property. 2) The s390-ccw bios used to fail when other unbootable devices have been specified before the bootable device (without "bootindex"). Now that the s390-ccw bios is a little bit smarter here, we should test this scenario, too, to avoid regressions. Message-Id: <20200806105349.632-10-thuth@redhat.com> Reviewed-by: Cornelia Huck Acked-by: Janosch Frank Signed-off-by: Thomas Huth --- tests/qtest/cdrom-test.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/qtest/cdrom-test.c b/tests/qtest/cdrom-test.c index e9afab693c..eef242dc80 100644 --- a/tests/qtest/cdrom-test.c +++ b/tests/qtest/cdrom-test.c @@ -163,6 +163,18 @@ static void add_s390x_tests(void) qtest_add_data_func("cdrom/boot/virtio-scsi", "-device virtio-scsi -device scsi-cd,drive=3Dcdr " "-blockdev file,node-name=3Dcdr,filename=3D", test= _cdboot); + qtest_add_data_func("cdrom/boot/with-bootindex", + "-device virtio-serial -device virtio-scsi " + "-device virtio-blk,drive=3Dd1 " + "-drive driver=3Dnull-co,read-zeroes=3Don,if=3Dnon= e,id=3Dd1 " + "-device virtio-blk,drive=3Dd2,bootindex=3D1 " + "-drive if=3Dnone,id=3Dd2,media=3Dcdrom,file=3D", = test_cdboot); + qtest_add_data_func("cdrom/boot/without-bootindex", + "-device virtio-scsi -device virtio-serial " + "-device x-terminal3270 -device virtio-blk,drive= =3Dd1 " + "-drive driver=3Dnull-co,read-zeroes=3Don,if=3Dnon= e,id=3Dd1 " + "-device virtio-blk,drive=3Dd2 " + "-drive if=3Dnone,id=3Dd2,media=3Dcdrom,file=3D", = test_cdboot); } =20 int main(int argc, char **argv) --=20 2.18.2