cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

sdei.txt (1493B)


      1* Software Delegated Exception Interface (SDEI)
      2
      3Firmware implementing the SDEI functions described in ARM document number
      4ARM DEN 0054A ("Software Delegated Exception Interface") can be used by
      5Linux to receive notification of events such as those generated by
      6firmware-first error handling, or from an IRQ that has been promoted to
      7a firmware-assisted NMI.
      8
      9The interface provides a number of API functions for registering callbacks
     10and enabling/disabling events. Functions are invoked by trapping to the
     11privilege level of the SDEI firmware (specified as part of the binding
     12below) and passing arguments in a manner specified by the "SMC Calling
     13Convention (ARM DEN 0028B):
     14
     15	 r0		=> 32-bit Function ID / return value
     16	{r1 - r3}	=> Parameters
     17
     18Note that the immediate field of the trapping instruction must be set
     19to #0.
     20
     21The SDEI_EVENT_REGISTER function registers a callback in the kernel
     22text to handle the specified event number.
     23
     24The sdei node should be a child node of '/firmware' and have required
     25properties:
     26
     27 - compatible    : should contain:
     28	* "arm,sdei-1.0" : For implementations complying to SDEI version 1.x.
     29
     30 - method        : The method of calling the SDEI firmware. Permitted
     31                   values are:
     32	* "smc" : SMC #0, with the register assignments specified in this
     33	          binding.
     34	* "hvc" : HVC #0, with the register assignments specified in this
     35	          binding.
     36Example:
     37	firmware {
     38		sdei {
     39			compatible	= "arm,sdei-1.0";
     40			method		= "smc";
     41		};
     42	};