MCUX CLNS
MCUX Crypto Library Normal Secure
Loading...
Searching...
No Matches
mcuxClSession_Internal_AssemblyHeader.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------------*/
2/* Copyright 2024 NXP */
3/* */
4/* SPDX-License-Identifier: BSD-3-Clause */
5/* */
6/* Redistribution and use in source and binary forms, with or without */
7/* modification, are permitted provided that the following conditions are */
8/* met: */
9/* */
10/* 1. Redistributions of source code must retain the above copyright */
11/* notice, this list of conditions and the following disclaimer. */
12/* */
13/* 2. Redistributions in binary form must reproduce the above copyright */
14/* notice, this list of conditions and the following disclaimer in the */
15/* documentation and/or other materials provided with the distribution. */
16/* */
17/* 3. Neither the name of the copyright holder nor the names of its */
18/* contributors may be used to endorse or promote products derived from */
19/* this software without specific prior written permission. */
20/* */
21/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS */
22/* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED */
23/* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A */
24/* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */
25/* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
26/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */
27/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR */
28/* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
29/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
30/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */
31/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
32/*--------------------------------------------------------------------------*/
33
38
39#ifndef MCUXCLSESSION_INTERNAL_ASSEMBLYHEADER_H_
40#define MCUXCLSESSION_INTERNAL_ASSEMBLYHEADER_H_
41
42#define MCUXCLSESSION_STATUS_ASM_API_ENTERED ((3822 << 16) | 11847)
43#define MCUXCLSESSION_STATUS_ASM_EXIT_FA ((3822 << 16) | 61680)
44
45#define WORDLEN (4) /* CPU word length */
46#define APICALL_OFFSET (85 - 1) /* Index of apiCall in struct mcuxClSession_Descriptor */
47
48#define FAULTSTATUS_OFFSET (1 - 1) /* Index of faultStatus in struct mcuxClSession_apiCall */
49#define DIBACKUP_OFFSET (5 - 1) /* Index of diBackup in struct mcuxClSession_apiCall */
50#define PREVIOUS_OFFSET (9 - 1) /* Index of previous in struct mcuxClSession_apiCall */
51#define CPUREGISTERBACKUP_OFFSET (13 - 1) /* Index of cpuRegisterBackup in struct mcuxClSession_apiCall */
52
53#define CPUREGISTERBACKUP_NUMBEROF_S_REGISTERS (8) /* Number of S registers to backup */
54#define CPUREGISTERBACKUP_S(s_index) (CPUREGISTERBACKUP_OFFSET + s_index * WORDLEN) /* Index of S register in cpuRegisterBackup */
55#define CPUREGISTERBACKUP_RA (CPUREGISTERBACKUP_OFFSET + CPUREGISTERBACKUP_NUMBEROF_S_REGISTERS * WORDLEN) /* Index of RA register in cpuRegisterBackup */
56#define CPUREGISTERBACKUP_SP (CPUREGISTERBACKUP_OFFSET + (CPUREGISTERBACKUP_NUMBEROF_S_REGISTERS + 1) * WORDLEN) /* Index of SP register in cpuRegisterBackup */
57#define CPUREGISTERBACKUP_UPCSSTATE (CPUREGISTERBACKUP_OFFSET + (CPUREGISTERBACKUP_NUMBEROF_S_REGISTERS + 2) * WORDLEN) /* Index of UPCSSTATE register in cpuRegisterBackup */
58
59
60#endif /* MCUXCLSESSION_INTERNAL_ASSEMBLYHEADER_H_ */