Developer Guide

  • 10/27/2020
  • Public Content

Host-Applet Interface

Host applications communicate with trusted applications using the Intel® DAL Host Interface Service (Intel® DAL HIS) – a DLL whose API is used to install trusted applications and to establish sessions between a host application and a trusted application. A host application requests a trusted application to perform a function by invoking the Intel® DAL HIS function JHI_SendAndRecv2. The function call identifies the trusted application, the session and which trusted application function to invoke. It sends data when the trusted application function requires data. It returns a status and, when necessary, data.
The communication flow between the Intel® DAL HIS and the trusted application is a host-initiated “Send and Receive” model. The Intel DAL HIS sends a message (consisting of a command and data) to the trusted application. The trusted application executes the command and then sends back a return code and data. The Intel DAL HIS waits for and receives this data.
Intel DAL HIS also supports an event-driven approach. Trusted applications can communicate with host applications and with other trusted applications, and can initiate such communications. Applications can subscribe to an event type, to post an event either to all subscribers or to specific subscribers, and to determine the source of an event. This allows a host application to receive an event generated in a trusted application. For example, this mechanism can be used to enable a host application to receive timer interrupts from a trusted application based on Intel DAL firmware.
There is no memory sharing mechanism between a trusted application and the host. The Intel® DAL HIS Application buffer size limitation is 2MB and will not accept a buffer larger than that.

Product and Performance Information


Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804