All of lore.kernel.org
 help / color / mirror / Atom feed
From: Usama Arif <usama.arif@linux.dev>
To: Kiryl Shutsemau <kirill@shutemov.name>
Cc: Usama Arif <usama.arif@linux.dev>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>, James Morse <james.morse@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Doug Anderson <dianders@chromium.org>,
	Petr Mladek <pmladek@suse.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Andrew Morton <akpm@linux-foundation.org>,
	Baoquan He <bhe@redhat.com>, Puranjay Mohan <puranjay@kernel.org>,
	Breno Leitao <leitao@debian.org>,
	Julien Thierry <julien.thierry.kdev@gmail.com>,
	Lecopzer Chen <lecopzer@gmail.com>,
	Sumit Garg <sumit.garg@kernel.org>,
	kernel-team@meta.com, kexec@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	"Kiryl Shutsemau (Meta)" <kas@kernel.org>
Subject: Re: [PATCH v5 2/4] firmware: arm_sdei: add SDEI_EVENT_SIGNAL support
Date: Tue, 30 Jun 2026 03:51:24 -0700	[thread overview]
Message-ID: <20260630105125.4006859-1-usama.arif@linux.dev> (raw)
In-Reply-To: <def2f1a87ea36a5c3817ca5fbed8a01b7422e4c7.1782744912.git.kas@kernel.org>

On Mon, 29 Jun 2026 16:07:16 +0100 Kiryl Shutsemau <kirill@shutemov.name> wrote:

> From: "Kiryl Shutsemau (Meta)" <kas@kernel.org>
> 
> Add sdei_event_signal(), a thin wrapper over the SDEI_EVENT_SIGNAL call
> (DEN0054) that makes the software-signalled event (event 0) pending on a
> target PE -- delivered NMI-like even when that PE has interrupts masked.
> It takes no locks, so it is safe to call from NMI / crash context.
> 
> Signed-off-by: Kiryl Shutsemau (Meta) <kas@kernel.org>
> Reviewed-by: Douglas Anderson <dianders@chromium.org>
> ---
>  drivers/firmware/arm_sdei.c   | 12 ++++++++++++
>  include/linux/arm_sdei.h      |  6 ++++++
>  include/uapi/linux/arm_sdei.h |  1 +
>  3 files changed, 19 insertions(+)
> 
> diff --git a/drivers/firmware/arm_sdei.c b/drivers/firmware/arm_sdei.c
> index c161cf263547..e8dd2f0f3919 100644
> --- a/drivers/firmware/arm_sdei.c
> +++ b/drivers/firmware/arm_sdei.c
> @@ -339,6 +339,18 @@ static void _ipi_unmask_cpu(void *ignored)
>  	sdei_unmask_local_cpu();
>  }
>  
> +/*
> + * Signal the software-signalled event (event 0) to @mpidr. Does nothing
> + * but the SMC -- no locks, no event lookup -- so it is safe from NMI /
> + * crash context (e.g. the cross-CPU NMI service).
> + */
> +int sdei_event_signal(u32 event_num, u64 mpidr)
> +{
> +	return invoke_sdei_fn(SDEI_1_0_FN_SDEI_EVENT_SIGNAL, event_num,
> +			      mpidr, 0, 0, 0, NULL);
> +}
> +NOKPROBE_SYMBOL(sdei_event_signal);
> +

Same as patch 1, can this be merged in patch 3? Its good to keep functions
where they are used.

>  /*
>   * Was SDEI firmware probed and is it usable?  Lets optional consumers skip
>   * registering an event -- and the warning a failed registration emits -- on
> diff --git a/include/linux/arm_sdei.h b/include/linux/arm_sdei.h
> index b07113eeeff7..b9dc21c241be 100644
> --- a/include/linux/arm_sdei.h
> +++ b/include/linux/arm_sdei.h
> @@ -37,6 +37,12 @@ int sdei_event_unregister(u32 event_num);
>  int sdei_event_enable(u32 event_num);
>  int sdei_event_disable(u32 event_num);
>  
> +/*
> + * Signal the software-signalled event (event 0) to another PE, NMI-like.
> + * @mpidr is the target's MPIDR affinity.
> + */
> +int sdei_event_signal(u32 event_num, u64 mpidr);
> +
>  /* Was SDEI firmware probed and usable? */
>  bool sdei_is_present(void);
>  
> diff --git a/include/uapi/linux/arm_sdei.h b/include/uapi/linux/arm_sdei.h
> index af0630ba5437..22eb61612673 100644
> --- a/include/uapi/linux/arm_sdei.h
> +++ b/include/uapi/linux/arm_sdei.h
> @@ -22,6 +22,7 @@
>  #define SDEI_1_0_FN_SDEI_PE_UNMASK			SDEI_1_0_FN(0x0C)
>  #define SDEI_1_0_FN_SDEI_INTERRUPT_BIND			SDEI_1_0_FN(0x0D)
>  #define SDEI_1_0_FN_SDEI_INTERRUPT_RELEASE		SDEI_1_0_FN(0x0E)
> +#define SDEI_1_0_FN_SDEI_EVENT_SIGNAL			SDEI_1_0_FN(0x0F)
>  #define SDEI_1_0_FN_SDEI_PRIVATE_RESET			SDEI_1_0_FN(0x11)
>  #define SDEI_1_0_FN_SDEI_SHARED_RESET			SDEI_1_0_FN(0x12)
>  
> -- 
> 2.54.0
> 
> 


  reply	other threads:[~2026-06-30 10:51 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-29 15:07 [PATCH v5 0/4] arm64: cross-CPU NMI via SDEI Kiryl Shutsemau
2026-06-29 15:07 ` [PATCH v5 1/4] firmware: arm_sdei: add sdei_is_present() Kiryl Shutsemau
2026-06-30 10:47   ` Usama Arif
2026-06-30 10:57     ` Kiryl Shutsemau
2026-06-29 15:07 ` [PATCH v5 2/4] firmware: arm_sdei: add SDEI_EVENT_SIGNAL support Kiryl Shutsemau
2026-06-30 10:51   ` Usama Arif [this message]
2026-06-30 10:58     ` Kiryl Shutsemau
2026-06-29 15:07 ` [PATCH v5 3/4] drivers/firmware: add SDEI cross-CPU NMI service for arm64 Kiryl Shutsemau
2026-06-29 15:07 ` [PATCH v5 4/4] arm64: escalate smp_send_stop() to an SDEI NMI as a last resort Kiryl Shutsemau
2026-07-03  6:01 ` [PATCH v5 0/4] arm64: cross-CPU NMI via SDEI YinFengwei

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260630105125.4006859-1-usama.arif@linux.dev \
    --to=usama.arif@linux.dev \
    --cc=akpm@linux-foundation.org \
    --cc=bhe@redhat.com \
    --cc=catalin.marinas@arm.com \
    --cc=dianders@chromium.org \
    --cc=james.morse@arm.com \
    --cc=julien.thierry.kdev@gmail.com \
    --cc=kas@kernel.org \
    --cc=kernel-team@meta.com \
    --cc=kexec@lists.infradead.org \
    --cc=kirill@shutemov.name \
    --cc=lecopzer@gmail.com \
    --cc=leitao@debian.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=maz@kernel.org \
    --cc=pmladek@suse.com \
    --cc=puranjay@kernel.org \
    --cc=sumit.garg@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.