From nobody Mon Dec 1 22:38:58 2025 Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7647A1DF994 for ; Thu, 27 Nov 2025 12:54:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764248059; cv=none; b=oA/pXdgtkL2cEUrLuRAHS0b7UOAqTvMXfwQGvFhfGTBkE+DNNKW8WLpOh6BimQTPcUcoVC3kuAlwSHp/JfiULucLE7Y8A7dB3jbBgz1ilLkHuJkUrhzklkjLSTxZgIPw+SrzBiOc3lsd6U9YzL8MN8HZn8V+TvpQXvokOSc23Ro= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764248059; c=relaxed/simple; bh=rnSX7Ak0EAA/CBkbrD4UJp9biUdZzKvWUFu+k0xkG3g=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=bwgDIvMadlo0BUvST5CX7yhqMQ2m7YS3WM+Or7518ef4AS69bbtLYfSfJS0a1Uu6wy3IL5WObsSrPabzTC4bZ+OBJV0ZGnihgyMLPd81Mkf0momFtHtzdqmyg59+/BthUxToG5T2KAuEvpy5Cf3T6qbSZwA4bCpH+HOwlGn7svU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com; spf=pass smtp.mailfrom=bytedance.com; dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b=H3r73jI2; arc=none smtp.client-ip=209.85.214.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bytedance.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b="H3r73jI2" Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-298250d7769so6055565ad.0 for ; Thu, 27 Nov 2025 04:54:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1764248057; x=1764852857; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=fWkOyJ5AcV33EEWNye1AG75lZoiCez1+DCGpMn2n8h0=; b=H3r73jI2vffpf9PRZ5H33xhs/eRIXuk5LeIVi8EDKhI8t0Ul5BmzLEm6FObPVNc2j+ jOkeDVlLpyiJSdjlpivEBHECuhxhgNEIbHRQfF1N/AmnNAugDybkkE7bl4kzHhuXQU1d 7ebx1dKzeFf2IKhBMZwOsN1r4w6wmltnzBPcV0thfAxpERzmooyc488EVvsgvG0K9hte 4kDKT16LN+jq5LF4RdELVsRGuAx8GdW4wKET4I4DCUzg9olpS15Ax9Rr8qlfvHfsGrx9 tGow7BoUD91PND7bBB43R0uGKEASjLSIXAYp+zuV4AhpPUESYw6VWrIjsPdSf/7mo95n 381Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764248057; x=1764852857; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=fWkOyJ5AcV33EEWNye1AG75lZoiCez1+DCGpMn2n8h0=; b=fbm+3KBLqgm40uUo7iYXYOYscv/+qUzWFmLna4D7Hu/nYfkEOkuPswM0W4K0ZJdj45 P4pfO59lNDAYLy1QXMPsNHe1XYA+Xwcj+kHzqi5QwPJKDSxqvi3hSTeuCt/Y/OCD9Ah7 tdd66ZGhWD551IxrdZw7Ie1UgJvP9r12rRc9LqvLVacap0e9Ti7vqZ4M18SusTshtcu6 zFemWPxGj36YwGWs93cL1fSfXTOEoJBdjw5ZdYvH8knQDIBuaqQhQKAwEGJeQXmPIXb+ 5G3Eq4WqK+oDOcfhL36cN52fmAeUAgVDodujYQd1BitiQF1auWG6evAc5MgrbvQobFy2 48lw== X-Forwarded-Encrypted: i=1; AJvYcCU4bD4P9V/s8RXgxKQyYWcFuJ2lUCeVCbgJtj2aq2vGZ23NknqMyn38V08HJgYr77kLhK7JQm2BDIE7Rc8=@vger.kernel.org X-Gm-Message-State: AOJu0YxMhtbtWEjTPeBCeAiU6xYB7i9DJPkQu4EsE9d5qqknr0Io2fc3 UwMRt6zOcCGNKIYeP/63GlXzaIfEONGBGP5oJLaIWe5+dVzMOz2eKv4WjNVkFVLXHvg= X-Gm-Gg: ASbGncslfQEk1+H8fo75XBIsftCj2TobD6KYxHkBN4XuOial9yhhPyNC/Pa2cV1oNxX pwlEfQ71rjhk9NSPmnT8A6FLOEFPIM/ShDl0pQT4TU/E2WTXmzjdBiTXyA2mw8zzTh2tdrwiOQH zXhlh7e2dDp8VOgakoLoTkQkx9K4naCgDQ4bsPHuLOG2wGgbdm+gLeRpHdcenu3tsSIMPpiYYUj VrmUWmCzgTR572e9XA5LGFezR6weEIqlHdb7SNMLppGt/gFiY9/DveSIZZdmtsjC6z/Rr9tgLpA go9BOcUreQjZrV2TpdUSz+BGYKAaLzglFZ8kPe68O+Q0kZMxMKcZ44EFYwNmiko6LklcmNOteDh EYeys1S39gnroAyIm5XROrDAYGbjzv2pAOmKOTaLH+OYrLeqOwn0jENN5FMO5+lfOh3Klq2JWDG pxgyIElc3DaLOlcmjv8ath5xedbc7wEq3ngBG1rYHz5FTF X-Google-Smtp-Source: AGHT+IHfDsQKz8tAmdnpj9oG+MYaFIwY7KvVCZ53LvFxGr4u9uSgj1+YFJnBx9PPYOIc/+SZwAFzqw== X-Received: by 2002:a17:903:292:b0:298:43f4:cc4b with SMTP id d9443c01a7336-29b6c50c632mr250127435ad.26.1764248056650; Thu, 27 Nov 2025 04:54:16 -0800 (PST) Received: from L6YN4KR4K9.bytedance.net ([139.177.225.225]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29bce470347sm17771255ad.41.2025.11.27.04.54.08 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 27 Nov 2025 04:54:16 -0800 (PST) From: Yunhui Cui To: conor@kernel.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, cuiyunhui@bytedance.com, luxu.kernel@bytedance.com, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, jassisinghbrar@gmail.com, conor.dooley@microchip.com, valentina.fernandezalanis@microchip.com, catalin.marinas@arm.com, will@kernel.org, maz@kernel.org, timothy.hayes@arm.com, lpieralisi@kernel.org, arnd@arndb.de, kees@kernel.org, tglx@linutronix.de, viresh.kumar@linaro.org, boqun.feng@gmail.com, linux-arm-kernel@lists.infradead.org, cleger@rivosinc.com, atishp@rivosinc.com, ajones@ventanamicro.com Subject: [PATCH v3 7/8] riscv: smp: kgdb: use NMI for CPU roundup Date: Thu, 27 Nov 2025 20:53:04 +0800 Message-Id: <20251127125305.89961-8-cuiyunhui@bytedance.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20251127125305.89961-1-cuiyunhui@bytedance.com> References: <20251127125305.89961-1-cuiyunhui@bytedance.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Use NMI for kgdb CPU roundup if RISC-V SSE NMI is available. Signed-off-by: Yunhui Cui --- arch/riscv/kernel/smp.c | 5 ++++- drivers/firmware/riscv/riscv_sse_nmi.c | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/riscv/kernel/smp.c b/arch/riscv/kernel/smp.c index 6d9a67c2c2a6e..84436e348b6ea 100644 --- a/arch/riscv/kernel/smp.c +++ b/arch/riscv/kernel/smp.c @@ -368,7 +368,10 @@ void kgdb_roundup_cpus(void) if (cpu =3D=3D this_cpu) continue; =20 - send_ipi_single(cpu, IPI_KGDB_ROUNDUP); + if (!nmi_support()) + send_ipi_single(cpu, IPI_KGDB_ROUNDUP); + else + send_nmi_single(cpu, LOCAL_NMI_KGDB); } } #endif diff --git a/drivers/firmware/riscv/riscv_sse_nmi.c b/drivers/firmware/risc= v/riscv_sse_nmi.c index a138d6bdbc0d1..85aa65f31943b 100644 --- a/drivers/firmware/riscv/riscv_sse_nmi.c +++ b/drivers/firmware/riscv/riscv_sse_nmi.c @@ -3,6 +3,7 @@ #define pr_fmt(fmt) "SSE NMI: " fmt =20 #include +#include #include #include #include @@ -61,6 +62,7 @@ static int local_nmi_handler(u32 evt, void *arg, struct p= t_regs *regs) NMI_HANDLE(LOCAL_NMI_CRASH, cpu_crash_stop, cpu, regs); NMI_HANDLE(LOCAL_NMI_STOP, cpu_stop); NMI_HANDLE(LOCAL_NMI_BACKTRACE, nmi_cpu_backtrace, regs); + NMI_HANDLE(LOCAL_NMI_KGDB, kgdb_nmicallback, cpu, regs); =20 atomic_andnot(type, this_cpu_ptr(&local_nmi)); =20 --=20 2.39.5