From patchwork Fri Sep 10 20:47:07 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 1526636 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=qWs2CjiD; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4H5ny74K4sz9sW5 for ; Sat, 11 Sep 2021 06:47:59 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id AA4B583710; Fri, 10 Sep 2021 22:47:49 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="qWs2CjiD"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D5C2983708; Fri, 10 Sep 2021 22:47:46 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 4ACA7836F1 for ; Fri, 10 Sep 2021 22:47:43 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=marek.vasut@gmail.com Received: by mail-wm1-x32c.google.com with SMTP id u19-20020a7bc053000000b002f8d045b2caso2207252wmc.1 for ; Fri, 10 Sep 2021 13:47:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=dXmrOdy3xflp+8eK4l42+nVW4LQMUPRI4vr+esXGV8Q=; b=qWs2CjiD7dHxTQZcRgz4RYwdBwnDCtLFvmPrM/BGqq1P17QWW7YmNpWZJDG3kaIbtJ 7FXDCiazQlHe2YI+ucrOy5WFiFNikz4hBcj9owdLyl4043rJr/nkaXURS6NeJKTTNUzo nzWwZ62FhpzSL0FDsdJfuWMlPfF9x6BQnRIDxRzMQ8ssfMYpi2qBfYh/46R3Cjvfd8Z5 uXq9JQLWGARzoCstMi9Yp44oHkI+B7uIMUkOQumBltsh3c2V8dV9chGqewsCnyWhY8lJ qXddll05KBJ+G3poE7aNUSWGwSuQj9te+OiwR77fnk1ISirV5ORfFjDEfF/AFtWDEbWl QWgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=dXmrOdy3xflp+8eK4l42+nVW4LQMUPRI4vr+esXGV8Q=; b=EmjdsvNXzxtLSi6Jm/tHAPoaxaf9YRy6gi8Br/ysp7objF2ufw+UixO+I0Vx6vwdel gy/U1pEOZW339u/mU9hqVnTf9b/CIjeiPtZn0xK1QknubVYsQzxdZ42eE00bWsR/FN6G u7bPxBVgqUH80HAH4VxOpb2SICVdZBw9FPxIyYqZdqR0ziNeVz3+cikwFRjqeSqX0Uw9 /X4gGZlWBvC4LuFFEzhYl7KB0cNk3m6r1O2q7wVYxU/lIozdbVfNir6JwMli6CMJ7pYe gxTg0C4sWdMDcF3PQpywcv4Pp6fObJ3iWeIxHZbIXfLoWZEcLD8pPVChnl5NCdig/ikf U1+g== X-Gm-Message-State: AOAM530/4M6VO8Mm+CI7hGtrBwBsc4v90m12mLkPm3C6WJR2lzbaLGsx zmNjNBZNPmvX0q04HCE+4HPeCMuXBr6YGQ== X-Google-Smtp-Source: ABdhPJwENBEnT+OGVF2FEH1B3wRKo5q2YyPlOm2XoV5I+dytwnkGUMlckbWQd6YHZ0cf/Rs+RG6A+Q== X-Received: by 2002:a1c:8096:: with SMTP id b144mr10045049wmd.189.1631306862857; Fri, 10 Sep 2021 13:47:42 -0700 (PDT) Received: from tr.lan (ip-89-176-112-137.net.upcbroadband.cz. [89.176.112.137]) by smtp.gmail.com with ESMTPSA id p11sm5195948wma.16.2021.09.10.13.47.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Sep 2021 13:47:42 -0700 (PDT) From: Marek Vasut X-Google-Original-From: Marek Vasut To: u-boot@lists.denx.de Cc: Marek Vasut , Tom Rini , Simon Glass , Simon Goldschmidt Subject: [PATCH 01/12] lmb: Always compile arch_lmb_reserve() into U-Boot on arm Date: Fri, 10 Sep 2021 22:47:07 +0200 Message-Id: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> X-Mailer: git-send-email 2.33.0 MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean The arch_lmb_reserve() is called by lib/lmb.c lmb_reserve_common() even if CMD_BOOT{I,M,Z} is not enabled. However, the arm32/arm64 variant of arch_lmb_reserve() is only compiled in if CMD_BOOT{I,M,Z} is enabled. This currently does not trigger build error, because there is an empty weak implementation of arch_lmb_reserve(), however that is not the function that should be used on arm32/arm64. Fix this by moving the arch_lmb_reserve() implementation into common code and always compile it in. Reviewed-by: Tom Rini Signed-off-by: Marek Vasut Cc: Simon Glass Cc: Simon Goldschmidt Cc: Tom Rini --- V2: Add RB --- arch/arm/lib/bootm.c | 45 -------------------------------------------- arch/arm/lib/stack.c | 45 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 45 deletions(-) diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index f60ee3a7e6..dd6a69315a 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -16,7 +16,6 @@ #include #include #include -#include #include #include #include @@ -43,50 +42,6 @@ DECLARE_GLOBAL_DATA_PTR; static struct tag *params; -static ulong get_sp(void) -{ - ulong ret; - - asm("mov %0, sp" : "=r"(ret) : ); - return ret; -} - -void arch_lmb_reserve(struct lmb *lmb) -{ - ulong sp, bank_end; - int bank; - - /* - * Booting a (Linux) kernel image - * - * Allocate space for command line and board info - the - * address should be as high as possible within the reach of - * the kernel (see CONFIG_SYS_BOOTMAPSZ settings), but in unused - * memory, which means far enough below the current stack - * pointer. - */ - sp = get_sp(); - debug("## Current stack ends at 0x%08lx ", sp); - - /* adjust sp by 4K to be safe */ - sp -= 4096; - for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) { - if (!gd->bd->bi_dram[bank].size || - sp < gd->bd->bi_dram[bank].start) - continue; - /* Watch out for RAM at end of address space! */ - bank_end = gd->bd->bi_dram[bank].start + - gd->bd->bi_dram[bank].size - 1; - if (sp > bank_end) - continue; - if (bank_end > gd->ram_top) - bank_end = gd->ram_top - 1; - - lmb_reserve(lmb, sp, bank_end - sp + 1); - break; - } -} - __weak void board_quiesce_devices(void) { } diff --git a/arch/arm/lib/stack.c b/arch/arm/lib/stack.c index b03e1cfc80..3f961f4454 100644 --- a/arch/arm/lib/stack.c +++ b/arch/arm/lib/stack.c @@ -12,6 +12,7 @@ */ #include #include +#include #include DECLARE_GLOBAL_DATA_PTR; @@ -33,3 +34,47 @@ int arch_reserve_stacks(void) return 0; } + +static ulong get_sp(void) +{ + ulong ret; + + asm("mov %0, sp" : "=r"(ret) : ); + return ret; +} + +void arch_lmb_reserve(struct lmb *lmb) +{ + ulong sp, bank_end; + int bank; + + /* + * Booting a (Linux) kernel image + * + * Allocate space for command line and board info - the + * address should be as high as possible within the reach of + * the kernel (see CONFIG_SYS_BOOTMAPSZ settings), but in unused + * memory, which means far enough below the current stack + * pointer. + */ + sp = get_sp(); + debug("## Current stack ends at 0x%08lx ", sp); + + /* adjust sp by 4K to be safe */ + sp -= 4096; + for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) { + if (!gd->bd->bi_dram[bank].size || + sp < gd->bd->bi_dram[bank].start) + continue; + /* Watch out for RAM at end of address space! */ + bank_end = gd->bd->bi_dram[bank].start + + gd->bd->bi_dram[bank].size - 1; + if (sp > bank_end) + continue; + if (bank_end > gd->ram_top) + bank_end = gd->ram_top - 1; + + lmb_reserve(lmb, sp, bank_end - sp + 1); + break; + } +} From patchwork Fri Sep 10 20:47:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 1526637 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=Wd9pB30t; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4H5nyJ3s4Yz9sX3 for ; Sat, 11 Sep 2021 06:48:08 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 02B4E83724; Fri, 10 Sep 2021 22:47:55 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Wd9pB30t"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E4FF783713; Fri, 10 Sep 2021 22:47:48 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [IPv6:2a00:1450:4864:20::32b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 10FE1836FF for ; Fri, 10 Sep 2021 22:47:44 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=marek.vasut@gmail.com Received: by mail-wm1-x32b.google.com with SMTP id k5-20020a05600c1c8500b002f76c42214bso2325728wms.3 for ; Fri, 10 Sep 2021 13:47:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=DF+wttRrP/3sZcl38s1/OJHu8D+Y3wn8vS08EvpOwiA=; b=Wd9pB30t+bMH5wkqfHs5BNA/nlNj6o76MqVk8AdfdN0Qk/CgiY3HLkXHPRbPYfs1Zr sCSWp71J81eammBaiIgTlBwAXYUEUm9wIhoi9FjOVlyezvPtwFhAJ7I/A6Vp+UK9X/xO V7edJsizZWmrCsd+ijYPw5vnXauUL4sWd0xnE1KaKXqSs5GUpCvGI+TKAE4jABwO8zXD 6N9zRre0glPi156+JwszmpDTdik7PWQgiZzE1je2anWzz/G9UrYHdVF/bWTxjhaYOV2Q 5rJEWzoiXFsdUNJonfn9QaGrx4Um7WJ91MOo5vGOvtBQVOcZtWj4n5BZGrRUF7PZRCIt Wc1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=DF+wttRrP/3sZcl38s1/OJHu8D+Y3wn8vS08EvpOwiA=; b=tj4XS4Q7wz8fcdLTEYG1Z/dThQiNMrLp76TbJWz9I/GZtgXZr5W4ZQx1ByREnuBWP1 RrSwbErKD1X3qTcQNP/d+DYinv+WpwBXpzacDVI/v3YRKtKPvKkb38e6hF6I4Yv35Afr zDbBDzQiFeeTDaA6YUR6EYfH29hyiRS1xemX9PfEGvFhzsWupLug+LaR3RGwkkYmqcsN OZrWpWs9Eyn+OUQBYXuHXk5z2zUhnC/nXhCPRrZ8b8W0d0QrOQwZcJfXNTnvOrLPN+ks ddD0ZoqIDM3BwLxzttqDpRMHhbJfNLt83A1nGW/ZlM0zbPSonqn1xlrN+X4AhFX+Y0mX 8IVw== X-Gm-Message-State: AOAM532XAmT7tkZtZ6sf8QH+t3nlo8D6ZV8I3lFaocBwxxJ3QuIe13Cm pyvufdudSqTZyC58NwUQTvojXnMhf8/T2Q== X-Google-Smtp-Source: ABdhPJwXvDRIn+nvuHy5slr+1l1ePV2vjoYGLbVozk2P7z99TwL1BJ4MwSgOMAA7D+D2aoHimkFL2g== X-Received: by 2002:a1c:2905:: with SMTP id p5mr10100896wmp.93.1631306863592; Fri, 10 Sep 2021 13:47:43 -0700 (PDT) Received: from tr.lan (ip-89-176-112-137.net.upcbroadband.cz. [89.176.112.137]) by smtp.gmail.com with ESMTPSA id p11sm5195948wma.16.2021.09.10.13.47.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Sep 2021 13:47:43 -0700 (PDT) From: Marek Vasut X-Google-Original-From: Marek Vasut To: u-boot@lists.denx.de Cc: Marek Vasut , Simon Glass , Simon Goldschmidt , Tom Rini Subject: [PATCH 02/12] lmb: Always compile arch_lmb_reserve() into U-Boot on arc Date: Fri, 10 Sep 2021 22:47:08 +0200 Message-Id: <20210910204718.17765-2-marek.vasut+renesas@gmail.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> References: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean The arch_lmb_reserve() is called by lib/lmb.c lmb_reserve_common() even if CMD_BOOTM is not enabled. However, the arc variant of arch_lmb_reserve() is only compiled in if CMD_BOOTM is enabled. This currently does not trigger build error, because there is an empty weak implementation of arch_lmb_reserve(), however that is not the function that should be used on arc. Fix this by moving the arch_lmb_reserve() implementation into common code and always compile it in. Signed-off-by: Marek Vasut Cc: Simon Glass Cc: Simon Goldschmidt Cc: Tom Rini --- V2: No change --- arch/arc/lib/bootm.c | 30 ------------------------------ arch/arc/lib/cache.c | 30 ++++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/arch/arc/lib/bootm.c b/arch/arc/lib/bootm.c index 8a8d394a5f..41408c2b46 100644 --- a/arch/arc/lib/bootm.c +++ b/arch/arc/lib/bootm.c @@ -8,42 +8,12 @@ #include #include #include -#include #include #include #include DECLARE_GLOBAL_DATA_PTR; -static ulong get_sp(void) -{ - ulong ret; - - asm("mov %0, sp" : "=r"(ret) : ); - return ret; -} - -void arch_lmb_reserve(struct lmb *lmb) -{ - ulong sp; - - /* - * Booting a (Linux) kernel image - * - * Allocate space for command line and board info - the - * address should be as high as possible within the reach of - * the kernel (see CONFIG_SYS_BOOTMAPSZ settings), but in unused - * memory, which means far enough below the current stack - * pointer. - */ - sp = get_sp(); - debug("## Current stack ends at 0x%08lx ", sp); - - /* adjust sp by 4K to be safe */ - sp -= 4096; - lmb_reserve(lmb, sp, (CONFIG_SYS_SDRAM_BASE + gd->ram_size - sp)); -} - static int cleanup_before_linux(void) { disable_interrupts(); diff --git a/arch/arc/lib/cache.c b/arch/arc/lib/cache.c index f807cd83d6..4ba180482c 100644 --- a/arch/arc/lib/cache.c +++ b/arch/arc/lib/cache.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -820,3 +821,32 @@ void sync_n_cleanup_cache_all(void) __ic_entire_invalidate(); } + +static ulong get_sp(void) +{ + ulong ret; + + asm("mov %0, sp" : "=r"(ret) : ); + return ret; +} + +void arch_lmb_reserve(struct lmb *lmb) +{ + ulong sp; + + /* + * Booting a (Linux) kernel image + * + * Allocate space for command line and board info - the + * address should be as high as possible within the reach of + * the kernel (see CONFIG_SYS_BOOTMAPSZ settings), but in unused + * memory, which means far enough below the current stack + * pointer. + */ + sp = get_sp(); + debug("## Current stack ends at 0x%08lx ", sp); + + /* adjust sp by 4K to be safe */ + sp -= 4096; + lmb_reserve(lmb, sp, (CONFIG_SYS_SDRAM_BASE + gd->ram_size - sp)); +} From patchwork Fri Sep 10 20:47:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 1526638 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=mcEYPQds; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4H5nyW3zlFz9sW5 for ; Sat, 11 Sep 2021 06:48:18 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7F9888371D; Fri, 10 Sep 2021 22:48:14 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="mcEYPQds"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 5CBE383718; Fri, 10 Sep 2021 22:48:10 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,SPF_HELO_NONE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com [IPv6:2a00:1450:4864:20::431]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 0D60D83701 for ; Fri, 10 Sep 2021 22:47:45 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=marek.vasut@gmail.com Received: by mail-wr1-x431.google.com with SMTP id q11so4366384wrr.9 for ; Fri, 10 Sep 2021 13:47:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=reyTJX/T/Gd23Z4Le1FTmeDHOKXj+rWKL+7yUSZPupk=; b=mcEYPQdsg9wT0PccWLYaVeeNlFiQe+Al+GM+oxHCmxR/rVT0lihHRjmSCTpDYGJTqQ 4YXA2bifwrzHvZDb/0NFFzHZeIFiRQC+yh71PXo+jdFXaW1aqc72bxuX7Uvwq22uw739 OSEXaqJjiqXl+8rj5oz/lIdPJnViIcJT3dgckdGUuv09fOMAbWq7K2JgxrsTQzvrmYj9 ygbNgIxLWuPFcyJ5jmz2BwZkmNNUXXcJIX++MsR357bRaFs4PUqxmWAgIjb+B7uPBdOB rauVISpjHaQFNrVv6j/h3q3sKpTd4YKDMLP/CIazjQ3tG8evfeStP4fkyiBjeIGrCBkN 7tPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=reyTJX/T/Gd23Z4Le1FTmeDHOKXj+rWKL+7yUSZPupk=; b=MIaUitZNI/K8+UTjcJWzzmpHPd7W1Low8Gk2GiZuimwuH+RVm5g9dL+MLAfKPO7Fb9 1EVdOj9pU6xEo89ncj3Jlvz5IqxZwqT8LPGGy5U0+blKAfMVXjnOhydjhQbcqOtWRVGE hbGUMcpGwsZ55P4FCMGxk8DcXBuqS7RQwFi034spkWz3h49WsI7torw1ii/7CnS/XQcn tsobdQGLYG5Sc6TcDDw9oglQ6hjJ8K9IBqZex+uC95iIFX7dfJzYwq7Wxvzb2nXrR7ky nTM5bvPBVLTCZvx0jAMR780xc10LMljaFFXv55Zwl/vLx48mfKD7G+L/eBhxegGo8lWc 0izw== X-Gm-Message-State: AOAM533lOf197Yz2bfGz234v6fk9A07UvqLAvihowthitO6K3XbnX49Q tuCWXQ4IKR66SkVjXpmj0i8FaZa4HV5U/w== X-Google-Smtp-Source: ABdhPJxNEccthty0shcbdKhDslLv1YuF0lk0DqCXZO5GbRi3SxC70VYX/J8TmziUfZSLKD7EYs+P6Q== X-Received: by 2002:adf:e384:: with SMTP id e4mr11826165wrm.64.1631306864636; Fri, 10 Sep 2021 13:47:44 -0700 (PDT) Received: from tr.lan (ip-89-176-112-137.net.upcbroadband.cz. [89.176.112.137]) by smtp.gmail.com with ESMTPSA id p11sm5195948wma.16.2021.09.10.13.47.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Sep 2021 13:47:44 -0700 (PDT) From: Marek Vasut X-Google-Original-From: Marek Vasut To: u-boot@lists.denx.de Cc: Marek Vasut , Alexey Brodkin , Angelo Dureghello , Daniel Schwierzeck , Eugeniy Paltsev , Hai Pham , Michal Simek , Simon Goldschmidt , Tom Rini , Wolfgang Denk Subject: [PATCH 03/12] lmb: Add generic arch_lmb_reserve_generic() Date: Fri, 10 Sep 2021 22:47:09 +0200 Message-Id: <20210910204718.17765-3-marek.vasut+renesas@gmail.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> References: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean The arc/arm/m68k/microblaze/mips/ppc arch_lmb_reserve() implementations are all mostly the same, except for a couple of details. Implement a generic arch_lmb_reserve_generic() function which can be parametrized enough to cater for those differences between architectures. This can also be parametrized enough so it can handle cases where U-Boot is not relocated to the end of DRAM e.g. because there is some other reserved memory past U-Boot (e.g. unmovable firmware for coprocessor), it is not relocated at all, and other such use cases. Signed-off-by: Marek Vasut Cc: Alexey Brodkin Cc: Angelo Dureghello Cc: Daniel Schwierzeck Cc: Eugeniy Paltsev Cc: Hai Pham Cc: Michal Simek Cc: Simon Goldschmidt Cc: Tom Rini Cc: Wolfgang Denk Reviewed-by: Tom Rini --- V2: Reword code comment --- include/lmb.h | 1 + lib/lmb.c | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/include/lmb.h b/include/lmb.h index 3c4afdf9f0..1984291132 100644 --- a/include/lmb.h +++ b/include/lmb.h @@ -122,6 +122,7 @@ lmb_size_bytes(struct lmb_region *type, unsigned long region_nr) void board_lmb_reserve(struct lmb *lmb); void arch_lmb_reserve(struct lmb *lmb); +void arch_lmb_reserve_generic(struct lmb *lmb, ulong sp, ulong end, ulong align); /* Low level functions */ diff --git a/lib/lmb.c b/lib/lmb.c index 7bd1255f7a..793647724c 100644 --- a/lib/lmb.c +++ b/lib/lmb.c @@ -12,6 +12,10 @@ #include #include +#include + +DECLARE_GLOBAL_DATA_PTR; + #define LMB_ALLOC_ANYWHERE 0 static void lmb_dump_region(struct lmb_region *rgn, char *name) @@ -113,6 +117,37 @@ void lmb_init(struct lmb *lmb) lmb->reserved.cnt = 0; } +void arch_lmb_reserve_generic(struct lmb *lmb, ulong sp, ulong end, ulong align) +{ + ulong bank_end; + int bank; + + /* + * Reserve memory from aligned address below the bottom of U-Boot stack + * until end of U-Boot area using LMB to prevent U-Boot from overwriting + * that memory. + */ + debug("## Current stack ends at 0x%08lx ", sp); + + /* adjust sp by 4K to be safe */ + sp -= align; + for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) { + if (!gd->bd->bi_dram[bank].size || + sp < gd->bd->bi_dram[bank].start) + continue; + /* Watch out for RAM at end of address space! */ + bank_end = gd->bd->bi_dram[bank].start + + gd->bd->bi_dram[bank].size - 1; + if (sp > bank_end) + continue; + if (bank_end > end) + bank_end = end - 1; + + lmb_reserve(lmb, sp, bank_end - sp + 1); + break; + } +} + static void lmb_reserve_common(struct lmb *lmb, void *fdt_blob) { arch_lmb_reserve(lmb); From patchwork Fri Sep 10 20:47:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 1526640 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=C5Z8WBms; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4H5nyy5P8Hz9sW5 for ; Sat, 11 Sep 2021 06:48:42 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6127A8370A; Fri, 10 Sep 2021 22:48:39 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="C5Z8WBms"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3AB5C83581; Fri, 10 Sep 2021 22:48:37 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 0938B83705 for ; Fri, 10 Sep 2021 22:47:46 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=marek.vasut@gmail.com Received: by mail-wm1-x32d.google.com with SMTP id n7-20020a05600c3b8700b002f8ca941d89so2204013wms.2 for ; Fri, 10 Sep 2021 13:47:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=gb45HqmLw47xnYOLNG/saLJsK9PtLZiN1FB3oBPAPak=; b=C5Z8WBmsTz9QtaSflBKBP8g5J7jIaJS63TPkJEPxa+1jVNvjcLEUMZe18GLHqFxNsS Wk2qV9YX0h4LimtXFgd4jJVc5w/OGNPe+90DMnwTqcBPBlTDu95L05LzdnjnVYj8vi2o fhyOFgGULxV3dpZ/jJCgBtvgtZn3aDnE1SUSVUTLwcNfNcDXv3KsMQAwbVRse8W3w4Up dwPI4ZC1jrDORRjL1l21j77ZTBfuJRaj4YZ/66As88JS/8vRa3Qr1xlhDSaX+qfzTcOQ NzZQp9UAlS4NqMoDoBwmaJyT8o1ozdRpBOQAkbnCadE2EEK+vNAmBGMzQBGj85gxyHwk i5LQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=gb45HqmLw47xnYOLNG/saLJsK9PtLZiN1FB3oBPAPak=; b=6tpAcVAowkWtoxoa8PpSnTP+FW0V/guU3wTqPjOFXJAsgWeser8eqvnR9wlGNZsyL3 Ha43YktdPHU6LH6vKvnoo6LRwbIMpPN2f94xMqqLPvKyfEGlvxCTy6zlyecNMld3xKlu 7RziO4H/a9dEubbS+X/Ym6ynbUTyeH8RkxLLfTX3FGJVaUykB7zbJ0V3eFnLqzYb2GLV 6MFhDPHY81EA5KoS8bs6G4JMO96xwwwo0LOwvqPC+EMV3FuQw1Mgnv5LeRnW1kKvmy7s HEKRAo3vvojWzr9/Xd5YvhLaSp1/BOeReg6T4nLxuZbpKHPUhr2W76yQD4E1UiBVeOph +L9g== X-Gm-Message-State: AOAM531bMhMaEXq05u4tisSZVdF67F93PtxNExlP2Shu8ohlqdOVaG7c uXARVAy8kc4ZZ3WMiYYMyC60WdCyFXSt6Q== X-Google-Smtp-Source: ABdhPJzZdNmevaNMX8S+pFTp3UVUGhY5C4T5dQ7evr00lckaF1fWAOP4/rv3Ty0XHvMoUDfD8rxSWA== X-Received: by 2002:a7b:cb45:: with SMTP id v5mr38327wmj.184.1631306865573; Fri, 10 Sep 2021 13:47:45 -0700 (PDT) Received: from tr.lan (ip-89-176-112-137.net.upcbroadband.cz. [89.176.112.137]) by smtp.gmail.com with ESMTPSA id p11sm5195948wma.16.2021.09.10.13.47.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Sep 2021 13:47:45 -0700 (PDT) From: Marek Vasut X-Google-Original-From: Marek Vasut To: u-boot@lists.denx.de Cc: Marek Vasut , Tom Rini , Alexey Brodkin , Angelo Dureghello , Daniel Schwierzeck , Eugeniy Paltsev , Hai Pham , Michal Simek , Simon Goldschmidt , Wolfgang Denk Subject: [PATCH 04/12] lmb: Switch to generic arch_lmb_reserve_generic() Date: Fri, 10 Sep 2021 22:47:10 +0200 Message-Id: <20210910204718.17765-4-marek.vasut+renesas@gmail.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> References: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean Switch arc/arm/m68k/microblaze/mips/ppc arch_lmb_reserve() to arch_lmb_reserve_generic(). Reviewed-by: Tom Rini Signed-off-by: Marek Vasut Cc: Alexey Brodkin Cc: Angelo Dureghello Cc: Daniel Schwierzeck Cc: Eugeniy Paltsev Cc: Hai Pham Cc: Michal Simek Cc: Simon Goldschmidt Cc: Tom Rini Cc: Wolfgang Denk --- V2: Add RB --- arch/arc/lib/cache.c | 18 +----------------- arch/arm/lib/stack.c | 33 +-------------------------------- arch/m68k/lib/bootm.c | 18 +----------------- arch/microblaze/lib/bootm.c | 28 +--------------------------- arch/mips/lib/bootm.c | 9 +-------- arch/powerpc/lib/bootm.c | 18 ++---------------- 6 files changed, 7 insertions(+), 117 deletions(-) diff --git a/arch/arc/lib/cache.c b/arch/arc/lib/cache.c index 4ba180482c..4c696cb53a 100644 --- a/arch/arc/lib/cache.c +++ b/arch/arc/lib/cache.c @@ -832,21 +832,5 @@ static ulong get_sp(void) void arch_lmb_reserve(struct lmb *lmb) { - ulong sp; - - /* - * Booting a (Linux) kernel image - * - * Allocate space for command line and board info - the - * address should be as high as possible within the reach of - * the kernel (see CONFIG_SYS_BOOTMAPSZ settings), but in unused - * memory, which means far enough below the current stack - * pointer. - */ - sp = get_sp(); - debug("## Current stack ends at 0x%08lx ", sp); - - /* adjust sp by 4K to be safe */ - sp -= 4096; - lmb_reserve(lmb, sp, (CONFIG_SYS_SDRAM_BASE + gd->ram_size - sp)); + arch_lmb_reserve_generic(lmb, get_sp(), gd->ram_top, 4096); } diff --git a/arch/arm/lib/stack.c b/arch/arm/lib/stack.c index 3f961f4454..52d9f15298 100644 --- a/arch/arm/lib/stack.c +++ b/arch/arm/lib/stack.c @@ -45,36 +45,5 @@ static ulong get_sp(void) void arch_lmb_reserve(struct lmb *lmb) { - ulong sp, bank_end; - int bank; - - /* - * Booting a (Linux) kernel image - * - * Allocate space for command line and board info - the - * address should be as high as possible within the reach of - * the kernel (see CONFIG_SYS_BOOTMAPSZ settings), but in unused - * memory, which means far enough below the current stack - * pointer. - */ - sp = get_sp(); - debug("## Current stack ends at 0x%08lx ", sp); - - /* adjust sp by 4K to be safe */ - sp -= 4096; - for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) { - if (!gd->bd->bi_dram[bank].size || - sp < gd->bd->bi_dram[bank].start) - continue; - /* Watch out for RAM at end of address space! */ - bank_end = gd->bd->bi_dram[bank].start + - gd->bd->bi_dram[bank].size - 1; - if (sp > bank_end) - continue; - if (bank_end > gd->ram_top) - bank_end = gd->ram_top - 1; - - lmb_reserve(lmb, sp, bank_end - sp + 1); - break; - } + arch_lmb_reserve_generic(lmb, get_sp(), gd->ram_top, 4096); } diff --git a/arch/m68k/lib/bootm.c b/arch/m68k/lib/bootm.c index 51a6f93858..27729db67e 100644 --- a/arch/m68k/lib/bootm.c +++ b/arch/m68k/lib/bootm.c @@ -32,23 +32,7 @@ static void set_clocks_in_mhz (struct bd_info *kbd); void arch_lmb_reserve(struct lmb *lmb) { - ulong sp; - - /* - * Booting a (Linux) kernel image - * - * Allocate space for command line and board info - the - * address should be as high as possible within the reach of - * the kernel (see CONFIG_SYS_BOOTMAPSZ settings), but in unused - * memory, which means far enough below the current stack - * pointer. - */ - sp = get_sp(); - debug ("## Current stack ends at 0x%08lx ", sp); - - /* adjust sp by 1K to be safe */ - sp -= 1024; - lmb_reserve(lmb, sp, (CONFIG_SYS_SDRAM_BASE + gd->ram_size - sp)); + arch_lmb_reserve_generic(lmb, get_sp(), gd->ram_top, 1024); } int do_bootm_linux(int flag, int argc, char *const argv[], diff --git a/arch/microblaze/lib/bootm.c b/arch/microblaze/lib/bootm.c index 6695ac63c7..3a6da6e29f 100644 --- a/arch/microblaze/lib/bootm.c +++ b/arch/microblaze/lib/bootm.c @@ -34,33 +34,7 @@ static ulong get_sp(void) void arch_lmb_reserve(struct lmb *lmb) { - ulong sp, bank_end; - int bank; - - /* - * Booting a (Linux) kernel image - * - * Allocate space for command line and board info - the - * address should be as high as possible within the reach of - * the kernel (see CONFIG_SYS_BOOTMAPSZ settings), but in unused - * memory, which means far enough below the current stack - * pointer. - */ - sp = get_sp(); - debug("## Current stack ends at 0x%08lx ", sp); - - /* adjust sp by 4K to be safe */ - sp -= 4096; - for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) { - if (sp < gd->bd->bi_dram[bank].start) - continue; - bank_end = gd->bd->bi_dram[bank].start + - gd->bd->bi_dram[bank].size; - if (sp >= bank_end) - continue; - lmb_reserve(lmb, sp, bank_end - sp); - break; - } + arch_lmb_reserve_generic(lmb, get_sp(), gd->ram_top, 4096); } static void boot_jump_linux(bootm_headers_t *images, int flag) diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c index fde90fced4..cab8da4860 100644 --- a/arch/mips/lib/bootm.c +++ b/arch/mips/lib/bootm.c @@ -39,14 +39,7 @@ static ulong arch_get_sp(void) void arch_lmb_reserve(struct lmb *lmb) { - ulong sp; - - sp = arch_get_sp(); - debug("## Current stack ends at 0x%08lx\n", sp); - - /* adjust sp by 4K to be safe */ - sp -= 4096; - lmb_reserve(lmb, sp, gd->ram_top - sp); + arch_lmb_reserve_generic(lmb, arch_get_sp(), gd->ram_top, 4096); } static void linux_cmdline_init(void) diff --git a/arch/powerpc/lib/bootm.c b/arch/powerpc/lib/bootm.c index 31c17b5bb3..8d65047aa4 100644 --- a/arch/powerpc/lib/bootm.c +++ b/arch/powerpc/lib/bootm.c @@ -119,7 +119,7 @@ static void boot_jump_linux(bootm_headers_t *images) void arch_lmb_reserve(struct lmb *lmb) { phys_size_t bootm_size; - ulong size, sp, bootmap_base; + ulong size, bootmap_base; bootmap_base = env_get_bootm_low(); bootm_size = env_get_bootm_size(); @@ -141,21 +141,7 @@ void arch_lmb_reserve(struct lmb *lmb) lmb_reserve(lmb, base, bootm_size - size); } - /* - * Booting a (Linux) kernel image - * - * Allocate space for command line and board info - the - * address should be as high as possible within the reach of - * the kernel (see CONFIG_SYS_BOOTMAPSZ settings), but in unused - * memory, which means far enough below the current stack - * pointer. - */ - sp = get_sp(); - debug("## Current stack ends at 0x%08lx\n", sp); - - /* adjust sp by 4K to be safe */ - sp -= 4096; - lmb_reserve(lmb, sp, (CONFIG_SYS_SDRAM_BASE + get_effective_memsize() - sp)); + arch_lmb_reserve_generic(lmb, get_sp(), gd->ram_top, 4096); #ifdef CONFIG_MP cpu_mp_lmb_reserve(lmb); From patchwork Fri Sep 10 20:47:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 1526639 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=dF2NL4ol; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4H5nyj3XDnz9sW5 for ; Sat, 11 Sep 2021 06:48:29 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 0D3988372F; Fri, 10 Sep 2021 22:48:20 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="dF2NL4ol"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6420283718; Fri, 10 Sep 2021 22:48:13 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,SPF_HELO_NONE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id E16F9836F1 for ; Fri, 10 Sep 2021 22:47:46 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=marek.vasut@gmail.com Received: by mail-wm1-x330.google.com with SMTP id n7-20020a05600c3b8700b002f8ca941d89so2204031wms.2 for ; Fri, 10 Sep 2021 13:47:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=H0dADwjWuBkJDypWrwjaSNi3ACfT+FfvzEiXhQUFUEg=; b=dF2NL4olyW6Kj6XLzjC7a9hmE+yhRbykzL9HXAkrEUwbTMVqLb10mLgP42eobE5Ug/ M0Owu9Q7bDEDMvVGBqWUNpy4taC5IDgh3TQWUyNuG2Gd33XOcydXR+yAFt732ISUVjyF eYsf/yJbn5REEk/GfuX/RENWmT5b7MusovzOvVtTPZRnQF78VFZv0VB2jKsCQKHYSmH9 oM9P4GzLoEUR2WtcPxFkegmcJrgrKI00az/AnI/Ebd1BtHtJGZR4QXwX9ig/XK4TruRi o/IW34y4eAO2CE4USYiR+LZF+3TBSeT6DKC2I+9IZWVLadKrzMgq6R3ByB6KvfkNAxbN soaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=H0dADwjWuBkJDypWrwjaSNi3ACfT+FfvzEiXhQUFUEg=; b=V/0QI7ggwAnAn0TfruJmU3z+PswHcpvBQheGvjqHqmEE9e2SxW2w3IK1mkeMoaffxU NN27G7XjgJ0+97q+tBWU9jD8SAkLs/HHwNOkmTvxGE1w1CTFSTbg6+bqk1Qz0RpQFaju iNZzAGWcRsSGCCzHyDOCU0Fvm6swhY1EprXy33/C5VDEBFhgVYY65uuyGGeq3x5SybEZ 41mxiQVuZZqNfw/ETLHVzbJuD/Wet/X4WTBC3Y5Eo81g0TYG3rWWgoQZ07Tci9IoJu7S zoaYqAtwQalkzy569RcxXj4GF47xnmNthB2RI3O14SNFjs4wetEfMCgnXNAXUk4DBbC8 dEPQ== X-Gm-Message-State: AOAM530nDivy2BcKeyvXemNK3RqYVgrVo5U0iiAwEo7TAa9+AzR3dAOX cj4ThKkbigIn3XoewoIJcskuwHVDrMLDMQ== X-Google-Smtp-Source: ABdhPJzOGTtICQdeC9ViX1Eq1piZaIK3wulLbj8NxeXN/Gq0L1IzNxrf7bVDO0UQ/Fkj6Iu/a8mPbQ== X-Received: by 2002:a1c:7417:: with SMTP id p23mr10236938wmc.144.1631306866568; Fri, 10 Sep 2021 13:47:46 -0700 (PDT) Received: from tr.lan (ip-89-176-112-137.net.upcbroadband.cz. [89.176.112.137]) by smtp.gmail.com with ESMTPSA id p11sm5195948wma.16.2021.09.10.13.47.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Sep 2021 13:47:46 -0700 (PDT) From: Marek Vasut X-Google-Original-From: Marek Vasut To: u-boot@lists.denx.de Cc: Marek Vasut , Alexey Brodkin , Angelo Dureghello , Daniel Schwierzeck , Eugeniy Paltsev , Hai Pham , Michal Simek , Simon Goldschmidt , Tom Rini , Wolfgang Denk , Ye Li Subject: [PATCH 05/12] lmb: arm: Increase LMB alignment to 16k in arch_lmb_reserve_generic() Date: Fri, 10 Sep 2021 22:47:11 +0200 Message-Id: <20210910204718.17765-5-marek.vasut+renesas@gmail.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> References: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean According to input NXP, the 4k alignment is not always sufficient. Currently iMX works around this problem by implementing board specific LMB reservation, however it is likely this could also occur on other systems. Increase the LMB reservation alignment to 16k by default. Signed-off-by: Marek Vasut Cc: Alexey Brodkin Cc: Angelo Dureghello Cc: Daniel Schwierzeck Cc: Eugeniy Paltsev Cc: Hai Pham Cc: Michal Simek Cc: Simon Goldschmidt Cc: Tom Rini Cc: Wolfgang Denk Cc: Ye Li Reviewed-by: Tom Rini --- V2: New patch --- arch/arm/lib/stack.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/lib/stack.c b/arch/arm/lib/stack.c index 52d9f15298..656084c7e5 100644 --- a/arch/arm/lib/stack.c +++ b/arch/arm/lib/stack.c @@ -45,5 +45,5 @@ static ulong get_sp(void) void arch_lmb_reserve(struct lmb *lmb) { - arch_lmb_reserve_generic(lmb, get_sp(), gd->ram_top, 4096); + arch_lmb_reserve_generic(lmb, get_sp(), gd->ram_top, 16384); } From patchwork Fri Sep 10 20:47:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 1526642 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=bhwgrU0V; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4H5nzQ3mPSz9sX3 for ; Sat, 11 Sep 2021 06:49:06 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7356983705; Fri, 10 Sep 2021 22:48:54 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="bhwgrU0V"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3E7B1836FD; Fri, 10 Sep 2021 22:48:38 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,SPF_HELO_NONE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com [IPv6:2a00:1450:4864:20::332]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id E7B0B8370D for ; Fri, 10 Sep 2021 22:47:47 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=marek.vasut@gmail.com Received: by mail-wm1-x332.google.com with SMTP id u19-20020a7bc053000000b002f8d045b2caso2207341wmc.1 for ; Fri, 10 Sep 2021 13:47:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=yTkeMC6Kvjo2fbQDEVy6qU5t7wjcp/TNh6LqDVrpu4Y=; b=bhwgrU0VTUsrts7whkxjI8f0ZIB5oprzEeIUfgglzjjGyzue3BtHwevYWCk8MZ90EW S3gSZMO3C96MnJUbAdadAt4Mj1k3hnNl84GuixNT1JBSNTOdJLxq7Qx5i4E/aU6HWZq2 jfQHGkk+Pa4P4lTDQfz+SFW6nAqq5zVk05sO+ZV6/5z6UGEK7/+tY23ktOkCGw7sVbXY pb1S5AUDVy1C+Qujt1CYxS2kVIu9Myds6abk95m2gOUhZ9EE6i4p6sqjbvi0sXI/OxoX G9KRsszriy61Bj0HVyl+k041NXE3DB8AgIhRR2S2Z32IsoS5Uy9du7/KgM0ySa3gTMqb 2tdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=yTkeMC6Kvjo2fbQDEVy6qU5t7wjcp/TNh6LqDVrpu4Y=; b=4R8yWRdLwtDzQag9T8QXiSUuOHcMcFGNbLY/hyBuP4zYi/Nyt/C8n4SIp/0XU5mM0K BNyEkwEeDQFue/FkkYdfMF/+XpNqZP5Bh57XpaRJ6WPzTbRWBUS53hMYldS9bpZSCWCG AhyXuGtBv8b2wREGvXvvFIBwBCTxY//7T+AdCgMkhVvov3Gm3olKN6IlXT9YHntO2MyA CdPs72e12QmaZfSfVljON4ziqrFNItJH52uz1pjzCJp0+x04IFd1BADYnsGgn6IWepiV Iu7Zwc0Prcb5r7WmkAt6CZiKlreZlUwX13GW6NG6pP9m0omjkrBoJrSDlVImw0GPMlWp CnWg== X-Gm-Message-State: AOAM531Wn6KriSUEADHBexQKYcQrUPN57ocHp9EqCvc5Fr2Cnw5ZdQew T8QhsPmdhIWAyVzpkc5tF1lX6q9qKAebkQ== X-Google-Smtp-Source: ABdhPJzC4MO8817Hr8M9XQ/X616+mYvRtxiF79MwkdrZcFm7bY+p0uVRgak0XuR8de4qQM03rU1nfQ== X-Received: by 2002:a7b:c8da:: with SMTP id f26mr10034308wml.109.1631306867512; Fri, 10 Sep 2021 13:47:47 -0700 (PDT) Received: from tr.lan (ip-89-176-112-137.net.upcbroadband.cz. [89.176.112.137]) by smtp.gmail.com with ESMTPSA id p11sm5195948wma.16.2021.09.10.13.47.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Sep 2021 13:47:47 -0700 (PDT) From: Marek Vasut X-Google-Original-From: Marek Vasut To: u-boot@lists.denx.de Cc: Marek Vasut , Alexey Brodkin , Angelo Dureghello , Daniel Schwierzeck , Eugeniy Paltsev , Hai Pham , Michal Simek , Simon Goldschmidt , Tom Rini , Wolfgang Denk , Ye Li Subject: [PATCH 06/12] lmb: Remove imx board_lmb_reserve() Date: Fri, 10 Sep 2021 22:47:12 +0200 Message-Id: <20210910204718.17765-6-marek.vasut+renesas@gmail.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> References: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean This function is clearly architecture specific code, not board specific code. The only difference from the previous arm arch_lmb_reserve() is the extra reservation of 16k of memory below the stack bottom, rather than the 4k. The common code now also uses 16k alignment. Remove this custom implementation, as it now behaves exactly as the common code. Signed-off-by: Marek Vasut Cc: Alexey Brodkin Cc: Angelo Dureghello Cc: Daniel Schwierzeck Cc: Eugeniy Paltsev Cc: Hai Pham Cc: Michal Simek Cc: Simon Goldschmidt Cc: Tom Rini Cc: Wolfgang Denk Cc: Ye Li --- V2: Drop the custom implementation altogether --- arch/arm/mach-imx/misc.c | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/arch/arm/mach-imx/misc.c b/arch/arm/mach-imx/misc.c index d82efa7f8f..09a758ff6e 100644 --- a/arch/arm/mach-imx/misc.c +++ b/arch/arm/mach-imx/misc.c @@ -77,33 +77,3 @@ int mxs_reset_block(struct mxs_register_32 *reg) return 0; } - -static ulong get_sp(void) -{ - ulong ret; - - asm("mov %0, sp" : "=r"(ret) : ); - return ret; -} - -void board_lmb_reserve(struct lmb *lmb) -{ - ulong sp, bank_end; - int bank; - - sp = get_sp(); - debug("## Current stack ends at 0x%08lx ", sp); - - /* adjust sp by 16K to be safe */ - sp -= 4096 << 2; - for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) { - if (sp < gd->bd->bi_dram[bank].start) - continue; - bank_end = gd->bd->bi_dram[bank].start + - gd->bd->bi_dram[bank].size; - if (sp >= bank_end) - continue; - lmb_reserve(lmb, sp, bank_end - sp); - break; - } -} From patchwork Fri Sep 10 20:47:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 1526641 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=btB+N7ph; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4H5nzB4HTRz9sW5 for ; Sat, 11 Sep 2021 06:48:54 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 60E4483711; Fri, 10 Sep 2021 22:48:47 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="btB+N7ph"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 71A73836CC; Fri, 10 Sep 2021 22:48:37 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,SPF_HELO_NONE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [IPv6:2a00:1450:4864:20::432]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id D041883708 for ; Fri, 10 Sep 2021 22:47:48 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=marek.vasut@gmail.com Received: by mail-wr1-x432.google.com with SMTP id g16so4395253wrb.3 for ; Fri, 10 Sep 2021 13:47:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Nki0AXgMPUEKQykG6/d7OiN1ZvRuxLuuAbkZwP/4t0E=; b=btB+N7phX7TmZ1jr8fOrMmol8O/B+sDLCVqBrcHQpYi+MIw07jWcTbkGnd8Jt0LyET IcEuLVPLC+scbgeyWY2LCMFGWGnUNHn2TRgzRFR+yFV9oyw4CS83EZz9KXb4C5GtnWBt P+hXaQJ2PJhu0OetdTmX7Gog6X+PApWYmqTHz5eIJTnozLHpSH42i91bpZNCNx/UJCd8 63YizrE2Mkdk6NxMpYy9z/QhX9606lOXOf1rD0eVj4cSm16xtVq8T1/pMtP9on8GtuzA 6uz58E92fFtLUJJCQwJzNoFIMKiZmbjNOmISTMUXIwrYzQYBS0qm7TqCfb2wSqQcDW0d 8OKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Nki0AXgMPUEKQykG6/d7OiN1ZvRuxLuuAbkZwP/4t0E=; b=EHFepLeE79WsPVp4YQpTdheLvbxY9Csg/vJqMBzW43bwRxvOSR8K2E61bpWNXN5QCc Hfimam2iGusNbLjEGlopvS5je4dvjT5WwRsdgK1yFBKjuPkBAeamGgfERzJ/q/DfXi6r hIvzcTGMdFqzCIQJPiOeNfcIfFPGprIcMsCxfitt84t4lCjB0R7zdZU67JHfhDHuWJs2 3p0/tUFWMZLGz4vro71EkMWZR8+tLBO1srn0qSVWoN6oBpmAy7083JCT+1Nh46jETcsZ emn4twZNDbrNzU6/QFikFDCP4zEIpbZHN5ftDoMjIg+BsWw7ppo/8gXHDcRuC4VsQaxk ZRnA== X-Gm-Message-State: AOAM530TTbh6bl28FS6KxPMnNYeGPSheXPay7F44H6N46VT1unRVo6+I QJG85lOEphSya+1p4GfSnXbZNK8K8gRD3g== X-Google-Smtp-Source: ABdhPJzwRHtKLQsp/TXLH9y9uVZFUqdjDOnfX6xVzJCJQiK1AdVhZIXS43ic3mjlNuh42qGa4ZlZrw== X-Received: by 2002:adf:8b43:: with SMTP id v3mr12187143wra.248.1631306868468; Fri, 10 Sep 2021 13:47:48 -0700 (PDT) Received: from tr.lan (ip-89-176-112-137.net.upcbroadband.cz. [89.176.112.137]) by smtp.gmail.com with ESMTPSA id p11sm5195948wma.16.2021.09.10.13.47.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Sep 2021 13:47:47 -0700 (PDT) From: Marek Vasut X-Google-Original-From: Marek Vasut To: u-boot@lists.denx.de Cc: Marek Vasut , Simon Goldschmidt , Thomas Chou , Tom Rini Subject: [PATCH 07/12] lmb: nios2: Add arch_lmb_reserve() Date: Fri, 10 Sep 2021 22:47:13 +0200 Message-Id: <20210910204718.17765-7-marek.vasut+renesas@gmail.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> References: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean Add arch_lmb_reserve() implemented using arch_lmb_reserve_generic(). It is rather likely this architecture also needs to cover U-Boot with LMB before booting Linux. Signed-off-by: Marek Vasut Cc: Simon Goldschmidt Cc: Thomas Chou Cc: Tom Rini --- V2: No change --- arch/nios2/lib/bootm.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/arch/nios2/lib/bootm.c b/arch/nios2/lib/bootm.c index 5037467151..3cb59bd977 100644 --- a/arch/nios2/lib/bootm.c +++ b/arch/nios2/lib/bootm.c @@ -10,6 +10,9 @@ #include #include #include +#include + +DECLARE_GLOBAL_DATA_PTR; #define NIOS_MAGIC 0x534f494e /* enable command line and initrd passing */ @@ -60,3 +63,16 @@ int do_bootm_linux(int flag, int argc, char *const argv[], return 1; } + +static ulong get_sp(void) +{ + ulong ret; + + asm("mov %0, sp" : "=r"(ret) : ); + return ret; +} + +void arch_lmb_reserve(struct lmb *lmb) +{ + arch_lmb_reserve_generic(lmb, get_sp(), gd->ram_top, 4096); +} From patchwork Fri Sep 10 20:47:14 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 1526645 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=EzaQxWLI; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4H5p056Y7Lz9sW5 for ; Sat, 11 Sep 2021 06:49:41 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 2960F8371A; Fri, 10 Sep 2021 22:49:13 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="EzaQxWLI"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4CFA88370E; Fri, 10 Sep 2021 22:48:43 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com [IPv6:2a00:1450:4864:20::42c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id A5F478370B for ; Fri, 10 Sep 2021 22:47:49 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=marek.vasut@gmail.com Received: by mail-wr1-x42c.google.com with SMTP id u16so4357806wrn.5 for ; Fri, 10 Sep 2021 13:47:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SwoBJy70dNWam5OAuy9wvvc+1a3MIDYoWVW+/QN6eXo=; b=EzaQxWLIx1bIAbQ06xyyaawu0yN45Vq913Vn2gFWGEfYU+coTELg+tdcBhSb0BNH0Z X0uXICpIp7+NoJLtBGyla9NylCNPhJr83WDhoKVNzNtRSnVyhXvfnHYn5ez6S0qcYEL5 n40l3wHbPkJCN0b/B4UPH3r7BA28tipgM5QfeHFJ0HyundfvBQZE/mkHO4e1uOjLdXLZ KucezMD5DU0dAA0xFqhsk41s8CQEfZSepjfE7PzCM1cLJJlaQa2PJe0tJyXUi5WNFbtd sG4WsytaEO+Y0BoQY7fK7e/Tp09jSfm8eJUNbfb+sM7KPRnFoYWFbWoj59KSDeTG6sYI QeiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SwoBJy70dNWam5OAuy9wvvc+1a3MIDYoWVW+/QN6eXo=; b=aNmK+4bF1jTT7B/OTugtjhKa788GLPWDCkk+kzpCiXfUygDBmSYEdmLig4p4vGqHf4 6brSJp5KmqZPuUiEmUJUAYn5iNocALfoaoyFS57an0N24qJg5ailIymaallye74SE9x4 xCC3Qo8va+Mwk8l7Owp6XTNbq7nsGkx8Ebv5ENecjooO2RAcZLcuv+2odKia92a2IepT TDXIFH8I1QDZsl61RQTqVBtKqwgBhy7IDBhUTtX4eHf4YYJbuhuDQ+wkgRmt57EKJnSS Xnm6chsLmjtSxBWYQpdRv+u7aTM8A6xMymSjXbuJYp2b1kybI8OGQcX8SNo7YFsZ261l m7Hw== X-Gm-Message-State: AOAM533udfP9c/Xd5db6dFjW431IERI5ahMRo13n/B+a4lL+y8d9WwLe mjD/ev7LDlRxkEuuvw+aOZ01SD3IP+O7iw== X-Google-Smtp-Source: ABdhPJxIycIUfFO2DtnH1Sn8jdaHv/1+CEeZjQYv+Lh9vmc3foATHh8K+7EEEltJCFH/UwxplCaqog== X-Received: by 2002:a5d:4212:: with SMTP id n18mr4452137wrq.37.1631306869205; Fri, 10 Sep 2021 13:47:49 -0700 (PDT) Received: from tr.lan (ip-89-176-112-137.net.upcbroadband.cz. [89.176.112.137]) by smtp.gmail.com with ESMTPSA id p11sm5195948wma.16.2021.09.10.13.47.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Sep 2021 13:47:48 -0700 (PDT) From: Marek Vasut X-Google-Original-From: Marek Vasut To: u-boot@lists.denx.de Cc: Marek Vasut , Rick Chen , Simon Goldschmidt , Tom Rini Subject: [PATCH 08/12] lmb: nds32: Add arch_lmb_reserve() Date: Fri, 10 Sep 2021 22:47:14 +0200 Message-Id: <20210910204718.17765-8-marek.vasut+renesas@gmail.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> References: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean Add arch_lmb_reserve() implemented using arch_lmb_reserve_generic(). It is rather likely this architecture also needs to cover U-Boot with LMB before booting Linux. Reviewed-by: Rick Chen Signed-off-by: Marek Vasut Cc: Rick Chen Cc: Simon Goldschmidt Cc: Tom Rini --- V2: Add RB from Rick --- arch/nds32/lib/bootm.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/arch/nds32/lib/bootm.c b/arch/nds32/lib/bootm.c index 4cb0f530ae..a7c8978f23 100644 --- a/arch/nds32/lib/bootm.c +++ b/arch/nds32/lib/bootm.c @@ -245,3 +245,16 @@ static void setup_end_tag(struct bd_info *bd) } #endif /* CONFIG_SETUP_MEMORY_TAGS || CONFIG_CMDLINE_TAG || CONFIG_INITRD_TAG */ + +static ulong get_sp(void) +{ + ulong ret; + + asm("move %0, $sp" : "=r"(ret) : ); + return ret; +} + +void arch_lmb_reserve(struct lmb *lmb) +{ + arch_lmb_reserve_generic(lmb, get_sp(), gd->ram_top, 4096); +} From patchwork Fri Sep 10 20:47:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 1526644 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=l/pwCGBx; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4H5nzt3slGz9sW5 for ; Sat, 11 Sep 2021 06:49:30 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 531538373B; Fri, 10 Sep 2021 22:49:08 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="l/pwCGBx"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B81A783701; Fri, 10 Sep 2021 22:48:42 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com [IPv6:2a00:1450:4864:20::430]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 730FD83715 for ; Fri, 10 Sep 2021 22:47:50 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=marek.vasut@gmail.com Received: by mail-wr1-x430.google.com with SMTP id v10so4361108wrd.4 for ; Fri, 10 Sep 2021 13:47:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=nmyk2dBayEh7QBnH8phgwGp9J8W/RFqNfRRhbTw5E1o=; b=l/pwCGBxgRJbMo1JQRRKr470rUY4wSioc8OLK0C1NUWr/ycbdkpUcjYvLZs9oiFrfB faJTbTuiWFW57Dnbe8ILoBQy5W2W1/FdqW7DlZTcP+JtRgQWZLPpGJeqHMoNhn54ZmEd tcUiFPDPs3G6gyQT0c70+iWBi5Y18MoV63WGxdx/3iICnADQ9djVECIe/FQAWhtopgcH gVeQYoRjT04OgEgYgOMlGn9HoyTtNyue4EwsyNKvcqEIbNv9ZeZ6h8m+UhwIz9IW0Kyp F8lmtOgm6t0qdb2XijcRoYO4dXV7cGgNz8KLlcnBmaMit+a2Q5AIvO+01Q9zazlJaxnl tskA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=nmyk2dBayEh7QBnH8phgwGp9J8W/RFqNfRRhbTw5E1o=; b=SnVrBf4jkAM3JGo3vuIOjJy9OZ54VJfFTL0FWjppWpR5EDx5776lIbkl9wzmPkmI1W Zztg2XKftZkW/YaF4KJHO0rZ4MpZtKHmLvWoi9GMQwDS06vCB2Tv5SzTDUUg1RTjyYr6 9dH2ZeZAIgV3/ZXYOjYbnU8lVj9giDD8xEtA+LCX66zJ/fT2Jo/fSCOERlyPQkYd04MF cc6B8JNvvBoK3zi9bZhEvI4hS8fTuEEcTDJu4OAzxU6ctqxuv0o2Syadxcofc61zmVVL AIL2AmaZfAtFy2EwndvCF7/YtOj7Xk344DiKxyMXU8OokvjMyfciGJXBFeo127XKExu/ R+4w== X-Gm-Message-State: AOAM533/r6lZpcU3Fd8+2OyD6jHgGBe3RENACQpDrkoNmfOa5TXfdouJ NyTIgfn7/a9QyVeQLqmaNqMPkfeQPP0xVQ== X-Google-Smtp-Source: ABdhPJywK33oDoOBTpzOpkqRZSf9qva98DcBy7sSI6IpOA4jXlvG49mcYouuXYq18EqTYYv5tpEofg== X-Received: by 2002:a5d:43c8:: with SMTP id v8mr223083wrr.68.1631306870092; Fri, 10 Sep 2021 13:47:50 -0700 (PDT) Received: from tr.lan (ip-89-176-112-137.net.upcbroadband.cz. [89.176.112.137]) by smtp.gmail.com with ESMTPSA id p11sm5195948wma.16.2021.09.10.13.47.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Sep 2021 13:47:49 -0700 (PDT) From: Marek Vasut X-Google-Original-From: Marek Vasut To: u-boot@lists.denx.de Cc: Marek Vasut , Rick Chen , Atish Patra , Leo , Simon Goldschmidt , Tom Rini Subject: [PATCH 09/12] lmb: riscv: Add arch_lmb_reserve() Date: Fri, 10 Sep 2021 22:47:15 +0200 Message-Id: <20210910204718.17765-9-marek.vasut+renesas@gmail.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> References: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean Add arch_lmb_reserve() implemented using arch_lmb_reserve_generic(). It is rather likely this architecture also needs to cover U-Boot with LMB before booting Linux. Reviewed-by: Rick Chen Signed-off-by: Marek Vasut Cc: Atish Patra Cc: Leo Cc: Rick Chen Cc: Simon Goldschmidt Cc: Tom Rini --- V2: Add RB from Rick --- arch/riscv/lib/bootm.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/arch/riscv/lib/bootm.c b/arch/riscv/lib/bootm.c index 8dd1820540..ff1bdf7131 100644 --- a/arch/riscv/lib/bootm.c +++ b/arch/riscv/lib/bootm.c @@ -135,3 +135,16 @@ int do_bootm_vxworks(int flag, int argc, char *const argv[], { return do_bootm_linux(flag, argc, argv, images); } + +static ulong get_sp(void) +{ + ulong ret; + + asm("mv %0, sp" : "=r"(ret) : ); + return ret; +} + +void arch_lmb_reserve(struct lmb *lmb) +{ + arch_lmb_reserve_generic(lmb, get_sp(), gd->ram_top, 4096); +} From patchwork Fri Sep 10 20:47:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 1526643 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=pwqxBiDZ; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4H5nzf13Qvz9sW5 for ; Sat, 11 Sep 2021 06:49:18 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 9A85B83723; Fri, 10 Sep 2021 22:48:59 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="pwqxBiDZ"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 268668370F; Fri, 10 Sep 2021 22:48:42 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com [IPv6:2a00:1450:4864:20::42b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 3C01883716 for ; Fri, 10 Sep 2021 22:47:51 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=marek.vasut@gmail.com Received: by mail-wr1-x42b.google.com with SMTP id n5so4344668wro.12 for ; Fri, 10 Sep 2021 13:47:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=tXqnR83OpHfX9Td3gsyog+B/9yiV4qFSBsF67eSOedE=; b=pwqxBiDZk1WPX1bS6mGsVipRRTZ5v0Fwun+5uavuiKrBRPCXBLDpF6dQHIuGobBIU8 1JgE8u1rTWqsQ9GjmzE7Th+QELChCx7w4bNkUGoPiz1IsCRREUeU+66qXlwfhWZaEuZr eGtZufmIdc6s//bh4Ya+EwRohm5PPTQrBXV+n5Hn8wCI7VveilaVYJRJbg0geIZ16R/s iI76UewnuPfBVbwZDyMWe281/QfG3sEu4ZyFYIjZwy5X9z/Q/Qiocbk40GLGuRU7AlQM tOgumiNBRr9Sg2KMg8U0uAi//3C9+3feQqcrYJjSWCT7sHVohbVIMorF7cfSDHJp6N18 49wA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=tXqnR83OpHfX9Td3gsyog+B/9yiV4qFSBsF67eSOedE=; b=5JblXB0R6h/9F9GPVeuxN1yDdFJpE4Z+0TD0gg2nWWfM6kOREHwP16+3YW8U+nRELg PPMqnI72KULofMOwV1xc8suj3q1KxDlkVc1M7eb1pJg2OPKHw0Fx4GEPO5L1KbTlIm84 vAYREccBF8Swf+R87wFBsXObZ1/+r32BhvaPBk0M2mFFMxJLEzgwg+es5CASyss+nTF1 sxbi3wpQ2o8gXWlKpv4rFblQh4L+/ErzVq1cHN4GwZBAuhUE6mL8mZ6Yibm/G5T74uHZ /LzBBlzwujPC0jYewa6oHB5t9+FwcqGdQPjJNJsZKG4gKI5ApCJ1eovZ1aUTw7LU/ouz 1PDw== X-Gm-Message-State: AOAM530m9KZARhcMuckh2D7Q46X/nCVw7BziNam1PzwAnCyG5wQuM4Tl P6LWlh85D3jkAgneaev/P0+iOs40knlWQA== X-Google-Smtp-Source: ABdhPJzsZmZKq+FkBWPzMv84b6FncjWXjUGd5eYBZELGJEuJ8WccWehI7l1RXrZ6PJrf+pRxYSDMow== X-Received: by 2002:adf:cd0f:: with SMTP id w15mr11874343wrm.346.1631306870850; Fri, 10 Sep 2021 13:47:50 -0700 (PDT) Received: from tr.lan (ip-89-176-112-137.net.upcbroadband.cz. [89.176.112.137]) by smtp.gmail.com with ESMTPSA id p11sm5195948wma.16.2021.09.10.13.47.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Sep 2021 13:47:50 -0700 (PDT) From: Marek Vasut X-Google-Original-From: Marek Vasut To: u-boot@lists.denx.de Cc: Marek Vasut , Simon Goldschmidt , Tom Rini Subject: [PATCH 10/12] lmb: sh: Add arch_lmb_reserve() Date: Fri, 10 Sep 2021 22:47:16 +0200 Message-Id: <20210910204718.17765-10-marek.vasut+renesas@gmail.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> References: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean Add arch_lmb_reserve() implemented using arch_lmb_reserve_generic(). This architecture also needs to cover U-Boot with LMB before booting Linux. Signed-off-by: Marek Vasut Cc: Simon Goldschmidt Cc: Tom Rini --- V2: No change --- arch/sh/lib/bootm.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/arch/sh/lib/bootm.c b/arch/sh/lib/bootm.c index dc94f83785..9b71424dfe 100644 --- a/arch/sh/lib/bootm.c +++ b/arch/sh/lib/bootm.c @@ -12,8 +12,11 @@ #include #include #include +#include #include +DECLARE_GLOBAL_DATA_PTR; + #ifdef CONFIG_SYS_DEBUG static void hexdump(unsigned char *buf, int len) { @@ -111,3 +114,16 @@ int do_bootm_linux(int flag, int argc, char *const argv[], /* does not return */ return 1; } + +static ulong get_sp(void) +{ + ulong ret; + + asm("mov r15, %0" : "=r"(ret) : ); + return ret; +} + +void arch_lmb_reserve(struct lmb *lmb) +{ + arch_lmb_reserve_generic(lmb, get_sp(), gd->ram_top, 4096); +} From patchwork Fri Sep 10 20:47:17 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 1526646 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=FYlQ/w0n; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4H5p0M4NC2z9sW5 for ; Sat, 11 Sep 2021 06:49:53 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 34150836CC; Fri, 10 Sep 2021 22:49:17 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="FYlQ/w0n"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3A0B58370D; Fri, 10 Sep 2021 22:48:45 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com [IPv6:2a00:1450:4864:20::429]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id F226D83719 for ; Fri, 10 Sep 2021 22:47:51 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=marek.vasut@gmail.com Received: by mail-wr1-x429.google.com with SMTP id w29so3610143wra.8 for ; Fri, 10 Sep 2021 13:47:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=tPvfdS+GzkClpbSPpy8f++++I4PT8XJtFdhVIYjIeIE=; b=FYlQ/w0nqYbkcm7KZXGJmspFleziL7l7rJzS0/rT8tO25FWq7aUu1iu1+3ER/eZ4H0 f8DwFzIpD5NnNwJ2CcifJoSFB/Qj5etma6SOJKsXwcgXngknGYzFoz9fWcdpnasDMN7J ANZNBARv9hGOyJBi/4J8Lag+Y0vlBJAACgWkPzWmVOTktlJBlEBDPQ/eZWOxuGrsB6Jy urmsatsmv3WmbZ7tf22kSYcZF0ljHObov0ddh9T1Csgk9GgUtySVstz/ZMYM0fWk1P+g GB3TW2mjcL+AsJqhGIpAkXfTHfiN0NtF6gWLjYxzIsUJdLBn7WS5l56d1za/NPDImGpG K64g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=tPvfdS+GzkClpbSPpy8f++++I4PT8XJtFdhVIYjIeIE=; b=DmZ3K1uoPkkbUt9nixo5UQLPkdmt9Ai6pL8pcDAs7t3tyBaKBXwA10/UW/M+wlodDZ fGaZuLBx90FQ9KavpKt5iMxXhAPs0GKAA5U68z/MsnjguHsQ/FUuhfWR/lD2E4D2JM72 StMCdhUqrdjGzP0UCB6FSgFVbBOup2v25PIgV+IFjYA0SprfLoqDMghRkEE0jSgKz/GX rSpgBIoQrfwhv++k+PiMSVixKzMxmSm5cczqfM+ejqlrk66gsmtsni3d1Smnragwo3zF /3jECO35pgqo+8kKAGXjKsJdhPgqaPhHbhF27yfho3jAjzuZ5rZkSEHUJDbdBspPECha DDFw== X-Gm-Message-State: AOAM533k5b5PjhXZ2pfj7eNfC/A+hPgnGB/kmZ7kbtd8HcJi3xMLznoo GnKmSSoPjmzKYnEzIs7iiHPQ523t2MinKA== X-Google-Smtp-Source: ABdhPJz5PWhWkbgUoBPD5yvsAEWAkTxEekSk3rl34A82oCBXa4+STD2sA3GaBRD4YxAc5WCC+UgoYw== X-Received: by 2002:a5d:6212:: with SMTP id y18mr11880665wru.241.1631306871614; Fri, 10 Sep 2021 13:47:51 -0700 (PDT) Received: from tr.lan (ip-89-176-112-137.net.upcbroadband.cz. [89.176.112.137]) by smtp.gmail.com with ESMTPSA id p11sm5195948wma.16.2021.09.10.13.47.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Sep 2021 13:47:51 -0700 (PDT) From: Marek Vasut X-Google-Original-From: Marek Vasut To: u-boot@lists.denx.de Cc: Marek Vasut , Chris Zankel , Simon Goldschmidt , Tom Rini Subject: [PATCH 11/12] lmb: xtensa: Add arch_lmb_reserve() Date: Fri, 10 Sep 2021 22:47:17 +0200 Message-Id: <20210910204718.17765-11-marek.vasut+renesas@gmail.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> References: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean Add arch_lmb_reserve() implemented using arch_lmb_reserve_generic(). It is rather likely this architecture also needs to cover U-Boot with LMB before booting Linux. Signed-off-by: Marek Vasut Cc: Chris Zankel Cc: Simon Goldschmidt Cc: Tom Rini --- V2: No change --- arch/xtensa/lib/bootm.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/arch/xtensa/lib/bootm.c b/arch/xtensa/lib/bootm.c index bb1e2886ab..277af18168 100644 --- a/arch/xtensa/lib/bootm.c +++ b/arch/xtensa/lib/bootm.c @@ -197,3 +197,15 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images) return 1; } +static ulong get_sp(void) +{ + ulong ret; + + asm("mov %0, a1" : "=r"(ret) : ); + return ret; +} + +void arch_lmb_reserve(struct lmb *lmb) +{ + arch_lmb_reserve_generic(lmb, get_sp(), gd->ram_top, 4096); +} From patchwork Fri Sep 10 20:47:18 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 1526647 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=lrGOZNd9; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4H5p0Y170hz9sW5 for ; Sat, 11 Sep 2021 06:50:05 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7217783741; Fri, 10 Sep 2021 22:49:21 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="lrGOZNd9"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 96F6E83703; Fri, 10 Sep 2021 22:48:49 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com [IPv6:2a00:1450:4864:20::42f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id CCE938371B for ; Fri, 10 Sep 2021 22:47:52 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=marek.vasut@gmail.com Received: by mail-wr1-x42f.google.com with SMTP id n5so4344748wro.12 for ; Fri, 10 Sep 2021 13:47:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=sv1pqRhBediFuk+L0BBmKy/xckoMZOgCtV1bLcQfFrs=; b=lrGOZNd9eZOknXaQHYELkZVLck3q5YsSt6zcBi533XfZAdn/2Iv244BBJb5gdLVZhb Qa2qBdv3qJSz8RMT2VNoqBUCl8Cy/P6XoPPEzwGKnyeZMkU5FoNBBLsZGpGbVLdQLkUV i7LTJi3thOocQpjPWBz3ATTCvdfEMEhDbY+AQiRIJs35BJziVwmElb4ils8uME8zrwM1 z0dP7FVp8XCyVaups8Apds94zPko45w4teGcwi5wkOW2pHPNoTtrsW3eQNyrEkdeVlyr WkNnMi02mMK8kOwb2W8Jtw53K9DiGWIEekNTO+IWKHHzwT/SQX8/sYpMhzSwsqz0MbS0 cmdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=sv1pqRhBediFuk+L0BBmKy/xckoMZOgCtV1bLcQfFrs=; b=DZU64iD7bfvllE3+LxUKS3sRdXYud2tYTMtj91BINbp7DyMkRQITbBd2ptxwtFI9tM Gk+8hkHWwHrHSje/qIO3firV217pCc21k1IJcVV4SOq4xX0APpoE2I4anrdYRrJcs0rg V5LfzCP58tEmnZt/wKydWgfNjjdjuZLRZiwAlCO3NnfxECFqAdbXH0M/IxW6udiyCoMw PNoop4RMJzSl09ODZIqs7pWYD/dkMdnJnx2GT4Ylxdw0hpAAUyq4F7o3Vos75yfdBatc CV7FDE5wbanV2EPqkpKnps5ahr4f+y4tOBDWWELC3ilvEGR9aigO5enXQ/UurpdggG6U z0cA== X-Gm-Message-State: AOAM531wmQy8NabupGop1a4SYhJwrD7q+Oj1NhIz2lFb+HKBPtJsBKfD IJB6sIgMcTP7xV0MegxkvScMo1aweJpBCw== X-Google-Smtp-Source: ABdhPJytg3ovPExzyKSNCqtBEA7g9T88/wIiPHww9NLSZjO33V9zX+GYi0AL+vLjSOa38bNclg1qnA== X-Received: by 2002:a5d:4e51:: with SMTP id r17mr11765411wrt.308.1631306872409; Fri, 10 Sep 2021 13:47:52 -0700 (PDT) Received: from tr.lan (ip-89-176-112-137.net.upcbroadband.cz. [89.176.112.137]) by smtp.gmail.com with ESMTPSA id p11sm5195948wma.16.2021.09.10.13.47.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Sep 2021 13:47:51 -0700 (PDT) From: Marek Vasut X-Google-Original-From: Marek Vasut To: u-boot@lists.denx.de Cc: Marek Vasut , Simon Glass , Simon Goldschmidt , Tom Rini Subject: [PATCH 12/12] lmb: x86: Add arch_lmb_reserve() Date: Fri, 10 Sep 2021 22:47:18 +0200 Message-Id: <20210910204718.17765-12-marek.vasut+renesas@gmail.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> References: <20210910204718.17765-1-marek.vasut+renesas@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean Add arch_lmb_reserve() implemented using arch_lmb_reserve_generic(). It is rather likely this architecture also needs to cover U-Boot with LMB before booting Linux. Signed-off-by: Marek Vasut Cc: Simon Glass Cc: Simon Goldschmidt Cc: Tom Rini --- V2: No change --- arch/x86/lib/bootm.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/arch/x86/lib/bootm.c b/arch/x86/lib/bootm.c index 733dd71257..667e5e689e 100644 --- a/arch/x86/lib/bootm.c +++ b/arch/x86/lib/bootm.c @@ -223,3 +223,21 @@ int do_bootm_linux(int flag, int argc, char *const argv[], return boot_jump_linux(images); } + +static ulong get_sp(void) +{ + ulong ret; + +#if CONFIG_IS_ENABLED(X86_64) + ret = gd->start_addr_sp; +#else + asm("mov %%esp, %0" : "=r"(ret) : ); +#endif + + return ret; +} + +void arch_lmb_reserve(struct lmb *lmb) +{ + arch_lmb_reserve_generic(lmb, get_sp(), gd->ram_top, 4096); +}