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.morse@xxxxxxx> > --- > 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 > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html