ADSP-2141L
DEVICE OPERATION
OPERATIONAL MODES
Security Modes
The ADSP-2141L operates in one of two security modes: kernel
mode or user mode. The mode switching is performed on the fly
as program execution proceeds. Kernel mode is entered via a
jump or call to address 0x2000 with PMOVLAY set to 0x000F.
Kernel mode will exit on its own once it has completed a requested
operation (or terminates due to an error).
Special interrupt handling is performed if the DSP is executing
in kernel mode. While executing a CGX command in kernel
mode, it is possible to interrupt to a nonprotected vector loca-
tion and then invoke the kernel again during the interrupt han-
dler. The [IF CONDITION] RTI instruction must be used to
return to the kernel from the interrupt handler. The return
address and PMOVLAY page must match the interrupted ad-
dress and PMOVLAY page. If not, the violation reset logic will
be triggered. Only one level of kernel mode nesting is permitted.
An interrupt to a nonprotected vector location while in nested
kernel mode will also trigger the violation reset logic.
While in kernel mode, it is possible to interrupt to a protected
vector location. In this case, the processor remains in kernel
mode. The [IF CONDITION] RTI instruction must be used to
return the processor from the interrupt handler. There is no
imposed limit on the number of nested interrupts to a protected
vector location.
Bus Modes
The ADSP-2141L Host Bus may be configured for one of two
personalities: IDMA Mode or PCI Bus Mode. The selection of
mode is made with two hardware control inputs BUS_MODE
and BUS_SEL at boot time.
Table II. Bus Mode Selection
Bus Mode Pins
IDMA Mode
PCI Bus Mode
BUS_MODE
0
1
BUS_SEL
0
0
This selection may not be changed after the ADSP-2141L
comes out of power-up reset. It is typically expected that the bus
mode signals are tied to ground or VDD on the PC Board.
Boot Modes
The ADSP-2141L may be bootstrap-loaded from one of three
sources: byte-wide memory, host processor bus, or external
program memory. The selection of mode is made with two
hardware control inputs BMODE and MMAP. When the host
processor boot mode is selected, any one of the two bus modes
may be used.
Table III. Boot Mode Selection
Boot Mode Pins
BMODE MMAP
Byte-Wide (BDMA) Boot Mode
0
0
Host Bus (IDMA) Boot Mode
1
0
External Program Boot Mode
0
1
The hardware pin states are not relevant after the ADSP-2141L
comes out of power-up reset. Refer to the ADSP-2141L User’s
Manual (available from IRE) for information on BDMA, IDMA
and external program boot modes.
COMMAND INTERFACE
This section provides a general overview of the software com-
mand interface to the crypto functions in the ADSP-2141L.
Refer to the ADSP-2141 CGX Interface Programmer’s Guide
(available from http://www.ire-ma.com/proddoc.htm) for more
details.
Overview
The ADSP-2141L provides an embedded crypto library that
provides a command interface API (Application Programming
Interface) to outside applications. These commands are referred
to as CGX (CryptoGraphic eXtensions).
The CGX API simultaneously enforces certain security policies
within the ADSP-2141L and insulates applications from the
details of many complex cryptographic operations. The security
policy built into the ADSP-2141L has some of the following
rules:
• Unencrypted (red) keys may never be retrieved from the
ADSP-2141L.
• Keys within the ADSP-2141L are marked with an attributes
field that specifies key type and trust level.
• A key’s type field must match the use in a requested opera-
tion (i.e., cannot use a KEK to encrypt traffic).
• Keys generated internal to the ADSP-2141L (i.e., from RNG)
are marked as trusted.
• Keys that are negotiated or imported from outside systems are
marked untrusted (although they may still be quite secure).
• Separate trusted and untrusted key hierarchies may be main-
tained and customer applications may choose which trust
level is required for a given command.
For most key management operations, the CGX interface must
be used. However, for certain high performance encryption/
hashing applications, the CGX interface may be bypassed and
either the DSP or a host processor may exercise direct control
over the hash/encrypt block.
–14–
REV. 0