Re: [PATCH v3 07/13] firmware: arm_sdei: Add driver for Software Delegated Exceptions

Catalin Marinas
2017-10-13T15:48:33Z

On Fri, Sep 22, 2017 at 07:26:08PM +0100, James Morse wrote:
> The Software Delegated Exception Interface (SDEI) is an ARM standard
> for registering callbacks from the platform firmware into the OS.
> This is typically used to implement firmware notifications (such as
> firmware-first RAS) or promote an IRQ that has been promoted to a
> firmware-assisted NMI.
>
> Add the code for detecting the SDEI version and the framework for
> registering and unregistering events. Subsequent patches will add the
> arch-specific backend code and the necessary power management hooks.
>
> Only shared events are supported, power management, private events and
> discovery for ACPI systems will be added by later patches.
>
> Signed-off-by: James Morse <james.morse@arm.com>
> ---
> Changes since v2:
> * Copy the priority into the structure the arch asm handler gets. This
> is used for VMAP stacks where we can't know if a critical event interrupted
> a normal priority event, thus they need separate stacks.
>
> Changes since v1:
> * Changed entry point to unsigned long, if we support non-vhe systems this
> won't be a valid pointer
> * Made invoke_sdei_fn() pass the only register we are interested in, instead
> of the whole arm_smccc_res
> * Made all the locking WARN_ON()s lockdep_assert_held()s.
> * Moved more messages from 'err' to 'warn'.
> * Made IS_SDEI_CALL() not depend on whether the config option is selected.
> * Made 'event failed' messages rate limited.
>
> drivers/firmware/Kconfig | 7 +
> drivers/firmware/Makefile | 1 +
> drivers/firmware/arm_sdei.c | 616 ++++++++++++++++++++++++++++++++++++++++++++
> include/linux/sdei.h | 100 +++++++
> include/uapi/linux/sdei.h | 91 +++++++
> 5 files changed, 815 insertions(+)
> create mode 100644 drivers/firmware/arm_sdei.c
> create mode 100644 include/linux/sdei.h
> create mode 100644 include/uapi/linux/sdei.h

I haven't reviewed this patch (yet...). However, I think it's worth
adding a MAINTAINERS entry with your name on it (unless you really want
to distance yourself from this code once merged ;)).

Thanks.

--
Catalin