From nobody Mon Feb 9 10:58:18 2026 Delivered-To: importer@patchew.org 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; 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=1579782718; cv=none; d=zohomail.com; s=zohoarc; b=IhnJqmX0gdrkhYKGQWEPE7GaBE5YAg9PcksuSVsv6dsa/0Jqeav+wStQ0SMCC9Iq/mna0jt0ETd8ijh5Y+gYP6iRyMr8JeYm+D3x26dKHwr9fKqyKPCKSsp0Kf8wYzdvss7ZVXUY0yWbu0TQ1D6PPFmft9FsjF6JiWBw0YhEqec= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1579782718; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=5K6fBBOgXsj6k50NcOkBrZl+nXGziE1LROJgs04NH1c=; b=n75RoCLT/VQXESW5DYuwrNgwNuEk1Kw3Yfx4VbC2P3t3l5Huqcb+jfUKxnmTk5Pt7ah1MabW9bF/MMIpYvE2w/yLBVo0pb4O/KfaPxL3BYbou9PVk1VwRy92isR5vQw+Dz5oO8YCn8wxToftz3egbHkqgO+SjmF2ZJol+sss0mU= 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 1579782718589816.2259822021797; Thu, 23 Jan 2020 04:31:58 -0800 (PST) Received: from localhost ([::1]:56232 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iubeN-0008Ns-Eo for importer@patchew.org; Thu, 23 Jan 2020 07:31:55 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:36074) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iuatS-0007vr-Jp for qemu-devel@nongnu.org; Thu, 23 Jan 2020 06:43:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iuatR-00050t-Dj for qemu-devel@nongnu.org; Thu, 23 Jan 2020 06:43:26 -0500 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:38165 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iuatR-00050m-9z for qemu-devel@nongnu.org; Thu, 23 Jan 2020 06:43:25 -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-59-7ttqkzLMM46PQNK8WnJTVg-1; Thu, 23 Jan 2020 06:43:23 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 3E9D08010C9; Thu, 23 Jan 2020 11:43:22 +0000 (UTC) Received: from dell-r430-03.lab.eng.brq.redhat.com (dell-r430-03.lab.eng.brq.redhat.com [10.37.153.18]) by smtp.corp.redhat.com (Postfix) with ESMTP id 28E5F1084388; Thu, 23 Jan 2020 11:43:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1579779805; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5K6fBBOgXsj6k50NcOkBrZl+nXGziE1LROJgs04NH1c=; b=WhsOGOho3oBOpitYR5FcOFQASMFNVEm2adojxHx/TDyIA1Y5XMV9baP9PkPUDQPD0cgI7r uAhovPfrfrvdI0AtXXNmH+LXlOvufhqd1l+vWiHJjMLBIrnmAKMZycQVYi3uRtwzqzPGih OxLsWfERBsfCrSaJO+V7MOHbOPeKkQ0= From: Igor Mammedov To: qemu-devel@nongnu.org Subject: [PATCH REPOST v3 57/80] ppc/e500: drop RAM size fixup Date: Thu, 23 Jan 2020 12:38:22 +0100 Message-Id: <1579779525-20065-58-git-send-email-imammedo@redhat.com> In-Reply-To: <1579779525-20065-1-git-send-email-imammedo@redhat.com> References: <1579779525-20065-1-git-send-email-imammedo@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-MC-Unique: 7ttqkzLMM46PQNK8WnJTVg-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 207.211.31.120 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: qemu-ppc@nongnu.org, david@gibson.dropbear.id.au Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" If user provided non-sense RAM size, board will complain and continue running with max RAM size supported. Also RAM is going to be allocated by generic code, so it won't be possible for board to fix things up for user. Make it error message and exit to force user fix CLI, instead of accepting non-sense CLI values. While at it, replace usage of global ram_size with machine->ram_size Signed-off-by: Igor Mammedov Acked-by: David Gibson --- v2: * fix format string cousing build failure on 32-bit host (Philippe Mathieu-Daud=C3=A9 ) CC: david@gibson.dropbear.id.au CC: qemu-ppc@nongnu.org --- hw/ppc/e500.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c index 12b6a5b..6d119fe 100644 --- a/hw/ppc/e500.c +++ b/hw/ppc/e500.c @@ -906,12 +906,14 @@ void ppce500_init(MachineState *machine) =20 env =3D firstenv; =20 - /* Fixup Memory size on a alignment boundary */ - ram_size &=3D ~(RAM_SIZES_ALIGN - 1); - machine->ram_size =3D ram_size; + if (!QEMU_IS_ALIGNED(machine->ram_size, RAM_SIZES_ALIGN)) { + error_report("RAM size must be multiple of %" PRIu64, RAM_SIZES_AL= IGN); + exit(EXIT_FAILURE); + } =20 /* Register Memory */ - memory_region_allocate_system_memory(ram, NULL, "mpc8544ds.ram", ram_s= ize); + memory_region_allocate_system_memory(ram, NULL, "mpc8544ds.ram", + machine->ram_size); memory_region_add_subregion(address_space_mem, 0, ram); =20 dev =3D qdev_create(NULL, "e500-ccsr"); @@ -1083,7 +1085,7 @@ void ppce500_init(MachineState *machine) kernel_base =3D cur_base; kernel_size =3D load_image_targphys(machine->kernel_filename, cur_base, - ram_size - cur_base); + machine->ram_size - cur_base); if (kernel_size < 0) { error_report("could not load kernel '%s'", machine->kernel_filename); @@ -1097,7 +1099,7 @@ void ppce500_init(MachineState *machine) if (machine->initrd_filename) { initrd_base =3D (cur_base + INITRD_LOAD_PAD) & ~INITRD_PAD_MASK; initrd_size =3D load_image_targphys(machine->initrd_filename, init= rd_base, - ram_size - initrd_base); + machine->ram_size - initrd_base); =20 if (initrd_size < 0) { error_report("could not load initial ram disk '%s'", @@ -1115,7 +1117,7 @@ void ppce500_init(MachineState *machine) * ensures enough space between kernel and initrd. */ dt_base =3D (loadaddr + payload_size + DTC_LOAD_PAD) & ~DTC_PAD_MASK; - if (dt_base + DTB_MAX_SIZE > ram_size) { + if (dt_base + DTB_MAX_SIZE > machine->ram_size) { error_report("not enough memory for device tree"); exit(1); } --=20 2.7.4