Message ID | 20200319205420.720815-15-seanga2@gmail.com |
---|---|
State | Superseded |
Delegated to: | Andes |
Headers | show
Return-Path: <u-boot-bounces@lists.denx.de> X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org 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=<UNKNOWN>) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=eCP0RiyN; dkim-atps=neutral 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 48jzkl6s1Pz9sPJ for <incoming@patchwork.ozlabs.org>; Fri, 20 Mar 2020 07:57:51 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6EFB88178D; Thu, 19 Mar 2020 21:55:46 +0100 (CET) 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="eCP0RiyN"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id AE388817D0; Thu, 19 Mar 2020 21:55:09 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qk1-x741.google.com (mail-qk1-x741.google.com [IPv6:2607:f8b0:4864:20::741]) (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 CCBCB815B0 for <u-boot@lists.denx.de>; Thu, 19 Mar 2020 21:54:59 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qk1-x741.google.com with SMTP id p6so4769845qkm.0 for <u-boot@lists.denx.de>; Thu, 19 Mar 2020 13:54:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=IvLdqy88ohO8CEYoY9eMwA9usAM5RP/sZg8mM1cd1XU=; b=eCP0RiyNog2bAta7tnkmq0qEgizCgQA8t+yOpRC44UT3ChxbAX3iVmRZg8za5/sY7k 0Gx5ZhlZFpdtls2IRE+VPFdC4mcCRI6A4ZGZsYN1fOXthdyYGswjESVLTm2K1iLz3VK9 zALFV+vwmaKoTrVNhlj/4JPUI1c8i+2wJNu36LQ1wEnvOa4dmxLFeCHDrh2Kg7+sKxhM BjKM/Yl0c/Ufxj4wmzGXTi1U6OFk2K3Gn7O2TcdX0yiCUy7BMEVOZp0soYkEhpMxebom 9eMorltugU78SFMThCIetA30XCFnjJm0PA22jxIitvxjNh4wSr32cuf36L57uo1bm8JQ R6CQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=IvLdqy88ohO8CEYoY9eMwA9usAM5RP/sZg8mM1cd1XU=; b=I7qUcrv4tA87QLrqBMmwluhr1WPDLUaNKwK06krFemTsvkWDzz28BBSnkfmIO4KWDg hWStky72DPmX3kjvAQAaYywTwihxK6xrDxFfqnblvVWgFelM4HjiMeo0zDrEoWBHzt/S 5eUB+vqcUA58KshGx0USPXg3E819QxO6sQ75GCerzp+GjkhKqEZ0cduCSAD6j6oKoIp0 smGaC6bbHJ9JWNJUzqJBophZUTcwBhFnms7PQoXrPJ7B0Q+h6wmHGJ4OVvKn7LMTltNY hzNigj+/1MLoLL8LkqGZ86rWJHgPJKrfCT8Yb59nfNBjLdwOVkfZTlHKDxZhdee59mxK tQ7g== X-Gm-Message-State: ANhLgQ165DPxVaiBDsPjPJYHgAq2bhOMAKOPojpX+ziZWV1VSELxKMDw xhm/h6HTV32VOV3DMnwO3LxGnZu43pg= X-Google-Smtp-Source: ADFU+vvcaE9Ug+81mpxoMQClX5mQu+NKTSqNVOz+MsX8uRBAsPBPaV4+YIAOmq+1vJ8zGmBHiqP5lQ== X-Received: by 2002:a37:454b:: with SMTP id s72mr840326qka.253.1584651298513; Thu, 19 Mar 2020 13:54:58 -0700 (PDT) Received: from godwin.fios-router.home (pool-71-163-33-7.washdc.fios.verizon.net. [71.163.33.7]) by smtp.gmail.com with ESMTPSA id n190sm2273904qkb.93.2020.03.19.13.54.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Mar 2020 13:54:58 -0700 (PDT) From: Sean Anderson <seanga2@gmail.com> To: u-boot@lists.denx.de Cc: Bin Meng <bmeng.cn@gmail.com>, Rick Chen <rickchen36@gmail.com>, Sean Anderson <seanga2@gmail.com>, Lukas Auer <lukas@auer.io> Subject: [PATCH v7 14/22] riscv: Clear pending interrupts before enabling IPIs Date: Thu, 19 Mar 2020 16:54:12 -0400 Message-Id: <20200319205420.720815-15-seanga2@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200319205420.720815-1-seanga2@gmail.com> References: <20200319205420.720815-1-seanga2@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion <u-boot.lists.denx.de> List-Unsubscribe: <https://lists.denx.de/options/u-boot>, <mailto:u-boot-request@lists.denx.de?subject=unsubscribe> List-Archive: <https://lists.denx.de/pipermail/u-boot/> List-Post: <mailto:u-boot@lists.denx.de> List-Help: <mailto:u-boot-request@lists.denx.de?subject=help> List-Subscribe: <https://lists.denx.de/listinfo/u-boot>, <mailto:u-boot-request@lists.denx.de?subject=subscribe> Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" <u-boot-bounces@lists.denx.de> X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean |
Series |
riscv: Add Sipeed Maix support
|
expand
|
> On some platforms (k210), the previous stage bootloader may have not > cleared pending IPIs before transferring control to U-Boot. This can cause > race conditions, as multiple harts all attempt to initialize the IPI > controller at once. This patch clears IPIs before enabling them, ensuring > that only one hart modifies shared memory at once. > > Signed-off-by: Sean Anderson <seanga2@gmail.com> > --- Reviewed-by: Rick Chen <rick@andestech.com>
diff --git a/arch/riscv/cpu/start.S b/arch/riscv/cpu/start.S index 6b3ff99c38..e8740c8568 100644 --- a/arch/riscv/cpu/start.S +++ b/arch/riscv/cpu/start.S @@ -67,6 +67,8 @@ _start: #else li t0, SIE_SSIE #endif + /* Clear any pending IPIs */ + csrc MODE_PREFIX(ip), t0 csrs MODE_PREFIX(ie), t0 #endif
On some platforms (k210), the previous stage bootloader may have not cleared pending IPIs before transferring control to U-Boot. This can cause race conditions, as multiple harts all attempt to initialize the IPI controller at once. This patch clears IPIs before enabling them, ensuring that only one hart modifies shared memory at once. Signed-off-by: Sean Anderson <seanga2@gmail.com> --- Changes in v7: - Split of into its own patch arch/riscv/cpu/start.S | 2 ++ 1 file changed, 2 insertions(+)