Intel EP80579 User Manual
Security Software—Software Overview
Intel
®
EP80579 Software for Security Applications on Intel
®
QuickAssist Technology
PG
August 2009
18
Order Number: 320183-004US
3.5
Process View
This section describes the context in which the EP80579 security software code is
executed, which is important in terms of understanding concurrency, or where locking
may be required, for example.
Code which implements the Acceleration APIs is library code, and is executed in the
context of whatever thread or interrupt context from which it is called. All of the
EP80579 security software APIs document the context in which they can be called,
specifically whether they may sleep and therefore are suitable for calling in a context
which may not sleep, such as ISRs or certain types of "bottom halves" including softirq
lists the API documentation supported in this
release.
The remainder of EP80579 security software code runs in a well-defined context,
whether it is process context or some form of interrupt context as described below.
• Interrupt handlers are registered for all interrupts from devices managed by
EP80579 security software, specifically the GbE MACs, and the ring controller on
the ASU. This code runs in the ISR (interrupt top half) context.
• Many of the Acceleration APIs support one or both of asynchronous and
synchronous modes.
— In asynchronous mode: when the request has been carried out on the SSU, a
“function completion callback” is typically invoked in a non-sleeping bottom half
context (specifically, a tasklet, on Linux). For more on this topic, see
— In synchronous mode: when the request has been sent to the SSU, the calling
thread is blocked, pending on a wait queue. When the response is received
from the SSU, the calling thread is de-queued, and thereby unbocked.
3.6
Deployment View
describes the mapping between the software components described in
, and the kernel modules that are created by the
build system.
Table 4.
Development View
Software Component
Directory
OCF Shim
Acceleration/shims/OCF_Shim
Acceleration System Driver
Acceleration/drivers/icp_asd
Lookaside Crypto Access Layer
Acceleration/library/icp_crypto/look_aside_crypto
QAT Access Layer
Acceleration/library/icp_crypto/QATAL
Debug Infrastructure
Acceleration/library/icp_debug/DCC
Management Interface Module
Acceleration/library/icp_debug/MIL
Hardware Abstraction Layer
(part of Hardware Services Layer)
Acceleration/library/icp_services/RuntimeTargetLibrary
Operating System Abstraction Layer
Acceleration/library/icp_utils/OSAL
Firmware Driver for SSU
Acceleration/firmware