From nobody Tue Feb 10 00:40:02 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606898688; cv=none; d=zohomail.com; s=zohoarc; b=bvpQw1JlWYolVK8syr1KI2ijVJs5AFviLORJyqSzGFc9j62U4PR2znNaxgFnqfkrcJli0os6Yv3e1di9tV6wrEBgVQl0kJMy2VcOpitIID9oHyF6E0CSqtI+Ot34hvuWAw2siq0m+FQW9lrVn7TTKp+dckdLUP5CdiGYXsSsCHo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606898688; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=mjoEbg/0RgU7dmywMkQ/ZgZlTHMo1pdSQ4JkBIJSJ1w=; b=F+RalirDu2NwMHHXAI9mTkTOmMAkLG2dQwBelq1qkTB459riYNPUvuk0JUjrCL/OtfIPXuEWrqHQkY5uZQ1f4UlW7X8K2jfLhz66+lxsG/aFvnt855oLnUAPq6z9t5H4DYoWl/6mkroL1f86Et3sVumi2DbCRl4Tv5oN4YLC0zo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606898688659176.2469180010545; Wed, 2 Dec 2020 00:44:48 -0800 (PST) Received: from localhost ([::1]:56462 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kkNkl-0004SU-9r for importer@patchew.org; Wed, 02 Dec 2020 03:44:47 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40352) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kkNCf-0003FX-La for qemu-devel@nongnu.org; Wed, 02 Dec 2020 03:09:33 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:59856) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kkNCI-0003hj-JE for qemu-devel@nongnu.org; Wed, 02 Dec 2020 03:09:33 -0500 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-323-I0Ct96QFORqIijgCmbOZlw-1; Wed, 02 Dec 2020 03:09:08 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 380F5185E490 for ; Wed, 2 Dec 2020 08:09:07 +0000 (UTC) Received: from virtlab701.virt.lab.eng.bos.redhat.com (virtlab701.virt.lab.eng.bos.redhat.com [10.19.152.228]) by smtp.corp.redhat.com (Postfix) with ESMTP id 062F71346F for ; Wed, 2 Dec 2020 08:09:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606896549; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=mjoEbg/0RgU7dmywMkQ/ZgZlTHMo1pdSQ4JkBIJSJ1w=; b=OiaQpb57tB11sAvz5u3FWfJqUZ+NjlNixOAKIOr+sbNpoCzqQ9UJTWrJEMN+lwKW66g1BL O+QGEWpUj1Fz6KL8D91WZGe4YG0jvHuXCci9EOTBe1kdoPSG/INAzIVK3pVu7ZFrT/JrZT uI2g6Pv7VOWdi7A9alkLjH77g+jCMLY= X-MC-Unique: I0Ct96QFORqIijgCmbOZlw-1 From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 047/113] s390x: do not use ram_size global Date: Wed, 2 Dec 2020 03:07:43 -0500 Message-Id: <20201202080849.4125477-48-pbonzini@redhat.com> In-Reply-To: <20201202080849.4125477-1-pbonzini@redhat.com> References: <20201202080849.4125477-1-pbonzini@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=pbonzini@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -35 X-Spam_score: -3.6 X-Spam_bar: --- X-Spam_report: (-3.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.497, 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_H3=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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Use the machine properties instead. Cc: Cornelia Huck Signed-off-by: Paolo Bonzini --- hw/s390x/ipl.c | 10 ++++++---- hw/s390x/s390-skeys.c | 6 ++++-- hw/s390x/s390-virtio-ccw.c | 4 +++- target/s390x/excp_helper.c | 3 ++- target/s390x/mem_helper.c | 10 +++++++--- target/s390x/mmu_helper.c | 4 +++- 6 files changed, 25 insertions(+), 12 deletions(-) diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c index 61e8c967d3..bddbaffac6 100644 --- a/hw/s390x/ipl.c +++ b/hw/s390x/ipl.c @@ -112,6 +112,7 @@ static uint64_t bios_translate_addr(void *opaque, uint6= 4_t srcaddr) =20 static void s390_ipl_realize(DeviceState *dev, Error **errp) { + MachineState *ms =3D MACHINE(qdev_get_machine()); S390IPLState *ipl =3D S390_IPL(dev); uint32_t *ipl_psw; uint64_t pentry; @@ -126,7 +127,7 @@ static void s390_ipl_realize(DeviceState *dev, Error **= errp) * even if an external kernel has been defined. */ if (!ipl->kernel || ipl->enforce_bios) { - uint64_t fwbase =3D (MIN(ram_size, 0x80000000U) - 0x200000) & ~0xf= fffUL; + uint64_t fwbase =3D (MIN(ms->ram_size, 0x80000000U) - 0x200000) & = ~0xffffUL; =20 bios_filename =3D qemu_find_file(QEMU_FILE_TYPE_BIOS, ipl->firmwar= e); if (bios_filename =3D=3D NULL) { @@ -163,7 +164,7 @@ static void s390_ipl_realize(DeviceState *dev, Error **= errp) &pentry, NULL, NULL, NULL, 1, EM_S390, 0, 0); if (kernel_size < 0) { - kernel_size =3D load_image_targphys(ipl->kernel, 0, ram_size); + kernel_size =3D load_image_targphys(ipl->kernel, 0, ms->ram_si= ze); if (kernel_size < 0) { error_setg(errp, "could not load kernel '%s'", ipl->kernel= ); return; @@ -210,7 +211,7 @@ static void s390_ipl_realize(DeviceState *dev, Error **= errp) initrd_offset +=3D 0x100000; } initrd_size =3D load_image_targphys(ipl->initrd, initrd_offset, - ram_size - initrd_offset); + ms->ram_size - initrd_offset= ); if (initrd_size =3D=3D -1) { error_setg(errp, "could not load initrd '%s'", ipl->initrd= ); return; @@ -448,6 +449,7 @@ int s390_ipl_set_loadparm(uint8_t *loadparm) =20 static int load_netboot_image(Error **errp) { + MachineState *ms =3D MACHINE(qdev_get_machine()); S390IPLState *ipl =3D get_ipl_device(); char *netboot_filename; MemoryRegion *sysmem =3D get_system_memory(); @@ -480,7 +482,7 @@ static int load_netboot_image(Error **errp) false); =20 if (img_size < 0) { - img_size =3D load_image_size(netboot_filename, ram_ptr, ram_size); + img_size =3D load_image_size(netboot_filename, ram_ptr, ms->ram_si= ze); ipl->start_addr =3D KERN_IMAGE_START; } =20 diff --git a/hw/s390x/s390-skeys.c b/hw/s390x/s390-skeys.c index 5cc559fe4c..9a8d60d1d9 100644 --- a/hw/s390x/s390-skeys.c +++ b/hw/s390x/s390-skeys.c @@ -109,7 +109,8 @@ void qmp_dump_skeys(const char *filename, Error **errp) { S390SKeysState *ss =3D s390_get_skeys_device(); S390SKeysClass *skeyclass =3D S390_SKEYS_GET_CLASS(ss); - const uint64_t total_count =3D ram_size / TARGET_PAGE_SIZE; + MachineState *ms =3D MACHINE(qdev_get_machine()); + const uint64_t total_count =3D ms->ram_size / TARGET_PAGE_SIZE; uint64_t handled_count =3D 0, cur_count; Error *lerr =3D NULL; vaddr cur_gfn =3D 0; @@ -256,7 +257,8 @@ static void s390_storage_keys_save(QEMUFile *f, void *o= paque) { S390SKeysState *ss =3D S390_SKEYS(opaque); S390SKeysClass *skeyclass =3D S390_SKEYS_GET_CLASS(ss); - uint64_t pages_left =3D ram_size / TARGET_PAGE_SIZE; + MachineState *ms =3D MACHINE(qdev_get_machine()); + uint64_t pages_left =3D ms->ram_size / TARGET_PAGE_SIZE; uint64_t read_count, eos =3D S390_SKEYS_SAVE_FLAG_EOS; vaddr cur_gfn =3D 0; int error =3D 0; diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index 538229713a..fdfb386314 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -17,6 +17,7 @@ #include "hw/boards.h" #include "exec/address-spaces.h" #include "exec/ram_addr.h" +#include "hw/boards.h" #include "hw/s390x/s390-virtio-hcall.h" #include "hw/s390x/sclp.h" #include "hw/s390x/s390_flic.h" @@ -142,8 +143,9 @@ static int virtio_ccw_hcall_notify(const uint64_t *args) static int virtio_ccw_hcall_early_printk(const uint64_t *args) { uint64_t mem =3D args[0]; + MachineState *ms =3D MACHINE(qdev_get_machine()); =20 - if (mem < ram_size) { + if (mem < ms->ram_size) { /* Early printk */ return 0; } diff --git a/target/s390x/excp_helper.c b/target/s390x/excp_helper.c index 0adfbbda27..9cf66d3690 100644 --- a/target/s390x/excp_helper.c +++ b/target/s390x/excp_helper.c @@ -156,9 +156,10 @@ bool s390_cpu_tlb_fill(CPUState *cs, vaddr address, in= t size, !address_space_access_valid(&address_space_memory, raddr, TARGET_PAGE_SIZE, access_type, MEMTXATTRS_UNSPECIFIED)) { + MachineState *ms =3D MACHINE(qdev_get_machine()); qemu_log_mask(CPU_LOG_MMU, "%s: raddr %" PRIx64 " > ram_size %" PRIx64 "\n", - __func__, (uint64_t)raddr, (uint64_t)ram_size); + __func__, (uint64_t)raddr, (uint64_t)ms->ram_size); excp =3D PGM_ADDRESSING; tec =3D 0; /* unused */ } diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index bd25eed3e8..0108611cc9 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -31,6 +31,7 @@ =20 #if !defined(CONFIG_USER_ONLY) #include "hw/s390x/storage-keys.h" +#include "hw/boards.h" #endif =20 /*************************************************************************= ****/ @@ -2075,12 +2076,13 @@ uint32_t HELPER(tprot)(CPUS390XState *env, uint64_t= a1, uint64_t a2) /* insert storage key extended */ uint64_t HELPER(iske)(CPUS390XState *env, uint64_t r2) { + MachineState *ms =3D MACHINE(qdev_get_machine()); static S390SKeysState *ss; static S390SKeysClass *skeyclass; uint64_t addr =3D wrap_address(env, r2); uint8_t key; =20 - if (addr > ram_size) { + if (addr > ms->ram_size) { return 0; } =20 @@ -2098,12 +2100,13 @@ uint64_t HELPER(iske)(CPUS390XState *env, uint64_t = r2) /* set storage key extended */ void HELPER(sske)(CPUS390XState *env, uint64_t r1, uint64_t r2) { + MachineState *ms =3D MACHINE(qdev_get_machine()); static S390SKeysState *ss; static S390SKeysClass *skeyclass; uint64_t addr =3D wrap_address(env, r2); uint8_t key; =20 - if (addr > ram_size) { + if (addr > ms->ram_size) { return; } =20 @@ -2124,11 +2127,12 @@ void HELPER(sske)(CPUS390XState *env, uint64_t r1, = uint64_t r2) /* reset reference bit extended */ uint32_t HELPER(rrbe)(CPUS390XState *env, uint64_t r2) { + MachineState *ms =3D MACHINE(qdev_get_machine()); static S390SKeysState *ss; static S390SKeysClass *skeyclass; uint8_t re, key; =20 - if (r2 > ram_size) { + if (r2 > ms->ram_size) { return 0; } =20 diff --git a/target/s390x/mmu_helper.c b/target/s390x/mmu_helper.c index 7d9f3059cd..d492b23a17 100644 --- a/target/s390x/mmu_helper.c +++ b/target/s390x/mmu_helper.c @@ -27,6 +27,7 @@ #include "trace.h" #include "hw/hw.h" #include "hw/s390x/storage-keys.h" +#include "hw/boards.h" =20 /* Fetch/store bits in the translation exception code: */ #define FS_READ 0x800 @@ -292,10 +293,11 @@ static void mmu_handle_skey(target_ulong addr, int rw= , int *flags) { static S390SKeysClass *skeyclass; static S390SKeysState *ss; + MachineState *ms =3D MACHINE(qdev_get_machine()); uint8_t key; int rc; =20 - if (unlikely(addr >=3D ram_size)) { + if (unlikely(addr >=3D ms->ram_size)) { return; } =20 --=20 2.26.2