From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 47335C5DF89 for ; Thu, 20 Aug 2026 02:51:06 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wwspu-0001qs-BI; Wed, 19 Aug 2026 22:48:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wwspn-0001pf-G2 for qemu-arm@nongnu.org; Wed, 19 Aug 2026 22:48:51 -0400 Received: from mail-yx1-xb129.google.com ([2607:f8b0:4864:20::b129]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wwspk-0000Kv-Vs for qemu-arm@nongnu.org; Wed, 19 Aug 2026 22:48:51 -0400 Received: by mail-yx1-xb129.google.com with SMTP id 956f58d0204a3-66c7a743cf8so806416d50.0 for ; Wed, 19 Aug 2026 19:48:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787194128; x=1787798928; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=d5SVMajj/RGhbWhyTg0fZ5+uybixj+KzUI/M0GlTUuI=; b=H35JT8kN+lhcxMUr+LvHwvkBlPCaWtIj5Wi3t9shlTlu9wEGya9Ck8Fo/FWfwjcemN a6Xm+Qe8g1d4WmJCtnPc4NCcZsK9uimmrXHkhX5j6odyhgYCveRh3EWBuk+o+2jiGmlG Zc+E9st+QXIvTVPyaSlGhXITyps8h4sWunXxXKkGmQB5yoYmBNJRZ5jblx15C8ee4evo 7LDrsaPrRiUct2QKxwBBUA4YdAlDc3Dp+L0KGoxy+39ENAQEPfYkUEuXdpOOC/YRlLoi 0C8mAPR21sEXV8rHhjIWAfTTG3KbpO7dW8BvwJK8zAqt8AIIWXYLibGYZg7xPdlNs7Cg dzMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787194128; x=1787798928; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=d5SVMajj/RGhbWhyTg0fZ5+uybixj+KzUI/M0GlTUuI=; b=JCQwG0t/xZH2jAcRFSQKxuEzpQqMns5x5nX4lDf5x4buq/yR4L0XZwzQGqDBCqYbD9 ScADH5kqEsQ9/AlyvDMrEmnWrCSOW5I3TyN81j936QHBbSrX1tc5A1IaWnf69RrUWe5W yzFQSfStJKVQU/+08Lcp9jTOrHJZdQNDy7pSV8aH95uHHS2WoUxOoU6E+d2GYF5vu+/W 7A9U2MF5uhWilIjctBwMX+PHHbQfVFnh750YejhrlNYHdIlaojBtkCIy/XKpZcJ7KIQu nZ32lxNMTT3DEi38lkYl/vwtXim0wUIGR1B5GjBcD4wkTPouQuP+L7/7IrmWit/BhA1P sMUg== X-Forwarded-Encrypted: i=1; AHgh+RrqscZ2+2CVK3LYFg06KZTRtuGwRdnzCTleo5uaYqcnOL1oegItERXGUUCJQexw2q7ntYugjwiV5Q==@nongnu.org X-Gm-Message-State: AFuF++mC+81qUegZ9ZryNFBjsp6ncfOlbZhOprSmis6eQVYIkuk/J4Zs We8QAjautVllr/+N6x4E9uVHEGk+9NzFByJiZOyI+t+eD+BG05JE61yN X-Gm-Gg: AR+sD10CJkSN9z1oNlgpN+j39WOZwEQKr2b50NFbatrin4CQ8DDVIsAd4daZMu3/uW2 ysXKUj8H9AOBJk2msP1AK+kyGC/Wnr+QQVZMhumV/0mxyNFS2bZU2kMkvGTyCiiNiXe0J25762J 4nx0cTEPFAnbAiUaW9lyy0tHvRtnuqfO+KqhNjC9JgpixD7KwTQk+1KxU85ftTJuLl0X4oPdf/x 2VeZkFUbJSNUgF7f4nkqKZLo+9/7rKIau5BGjufh5rdP0HnsbMmRgYWozMj90heUyiFvmvgUI3t x4FM/owIYsXGZA7KZNhgX4vUb9R5IWH+mFBrUM9Wxkm7FzsJTbbldikZBrwZ/WQ/tdvFt3aUQ9X hNVLH+CiYuU75maEqBaqMKnZehACEy53FrrdjXq8C5xB/A9zdfkjGW41R07Fruhub6YTQ1WF0F0 TPtspwXOGZMfVCyQBrG01LT7ZX/R6V/0ZEjEuU2wGALJj5m3f2X8LO++bCpKcT0v5PZca9tnLaG /Os5FiH6bojrQfy/MX0ilrv+mLD4viy6B5urwX/Y5KKYGGGeYu5Ig== X-Received: by 2002:a53:c411:0:b0:668:b2a7:a1f1 with SMTP id 956f58d0204a3-66cd699c797mr937084d50.22.1787194127903; Wed, 19 Aug 2026 19:48:47 -0700 (PDT) Received: from skippy.localdomain (99-61-67-1.lightspeed.austtx.sbcglobal.net. [99.61.67.1]) by smtp.gmail.com with ESMTPSA id 956f58d0204a3-66ccafd03basm1986454d50.1.2026.08.19.19.48.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Aug 2026 19:48:47 -0700 (PDT) From: Kyle Fox To: qemu-devel@nongnu.org Cc: Kyle Fox , Peter Maydell , qemu-arm@nongnu.org (open list:ARM TCG CPUs) Subject: [PATCH 02/16] hw/arm/boot: let a board preset initrd_start Date: Wed, 19 Aug 2026 21:48:20 -0500 Message-Id: <20260820024834.3286721-3-kylefoxaustin.github@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260820024834.3286721-1-kylefoxaustin.github@gmail.com> References: <20260820024834.3286721-1-kylefoxaustin.github@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2607:f8b0:4864:20::b129; envelope-from=kylefoxaustin.github@gmail.com; helo=mail-yx1-xb129.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-arm@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-arm-bounces+qemu-arm=archiver.kernel.org@nongnu.org Sender: qemu-arm-bounces+qemu-arm=archiver.kernel.org@nongnu.org Allow a board to place the initrd itself (honour a pre-set info->initrd_start) so a board with a reserved-memory carveout can keep the initrd clear of it. Signed-off-by: Kyle Fox --- hw/arm/boot.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/hw/arm/boot.c b/hw/arm/boot.c index 9b7553dde5e..4bfb0d8264b 100644 --- a/hw/arm/boot.c +++ b/hw/arm/boot.c @@ -997,8 +997,16 @@ static void arm_setup_direct_kernel_boot(ARMCPU *cpu, * don't tell us their exact size (eg self-decompressing 32-bit kernels) * we might still make a bad choice here. */ - info->initrd_start = info->loader_start + - MIN(info->ram_size / 2, 128 * MiB); + /* + * Boards may preset info->initrd_start to force a placement (e.g. to + * dodge a guest reserved-memory carveout that happens to sit where the + * default heuristic would land the initrd). Only compute a default when + * the board left it unset. + */ + if (!info->initrd_start) { + info->initrd_start = info->loader_start + + MIN(info->ram_size / 2, 128 * MiB); + } if (image_high_addr) { info->initrd_start = MAX(info->initrd_start, image_high_addr); } -- 2.34.1