On Mon, May 15, 2017 at 06:43:54PM +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 RAS notifications.
> 
> Add a new devicetree binding to describe the SDE firmware interface.
> 
> Signed-off-by: James Morse <james.mo...@arm.com>
> ---
>  Documentation/devicetree/bindings/arm/sdei.txt | 37 
> ++++++++++++++++++++++++++
>  1 file changed, 37 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/sdei.txt
> 
> diff --git a/Documentation/devicetree/bindings/arm/sdei.txt 
> b/Documentation/devicetree/bindings/arm/sdei.txt
> new file mode 100644
> index 000000000000..69220d995286
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/sdei.txt
> @@ -0,0 +1,37 @@
> +* Software Delegated Exception Interface (SDEI)
> +
> +Firmware implementing the SDEI functions described in ARM document number
> +ARM DEN 0054A ("Software Delegated Exception Interface") can be used by
> +Linux to receive notification of events such as those generated by
> +firmware-first error handling.

Why am I reviewing bindings for RAS firmware-first events which is a 
server thing? Just curious.

> +
> +The interface provides a number of API functions for registering callbacks
> +and enabling/disabling events. Functions are invoked by trapping to the
> +privilege level of the SDEI firmware (specified as part of the binding
> +below) and passing arguments in a manner similar to that specified by AAPCS:

Shouldn't it be the ARM secure monitor call convention doc (forgot the 
name) that you are following?

> +
> +      r0             => 32-bit Function ID / return value
> +     {r1 - r3}       => Parameters
> +
> +Note that the immediate field of the trapping instruction must be set
> +to #0.
> +
> +The SDEI_EVENT_REGISTER function registers a callback in the kernel
> +text to handle the specified event number.
> +
> +Main node required properties:
> +
> + - compatible    : should contain:
> +     * "arm,sdei-1.0" : For implementations complying to SDEI version 1.x.
> +
> + - method        : The method of calling the SDEI firmware. Permitted
> +                   values are:
> +     * "smc" : SMC #0, with the register assignments specified in this
> +               binding.
> +     * "hvc" : HVC #0, with the register assignments specified in this
> +               binding.

When is ARM going to define a firmware interface to determine what 
firmware interfaces are available?

> +Example:
> +     sdei {

Please specify this should be a child node of /firmware node.

> +             compatible      = "arm,sdei-1.0";
> +             method          = "smc";
> +     };
> -- 
> 2.10.1
> 
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Reply via email to