9 Commits
Author SHA1 Message Date
Michele Balistreri 9ffdafe207 remove redundant line 2024-01-10 08:03:55 +01:00
Michele Balistreri 8d26cba028 update generated files 2024-01-08 12:21:29 +01:00
Michele Balistreri 0f22e753d5 fixed hw FUP usage 2024-01-08 12:20:08 +01:00
Michele Balistreri 614176f792 update generated files 2024-01-05 14:48:53 +01:00
Michele Balistreri a16dc82137 fix memory layout 2024-01-05 14:47:48 +01:00
Michele Balistreri 8c1faf56b9 add few defines 2024-01-05 10:31:56 +01:00
Michele Balistreri 9bb7efc378 implement soft FUP 2024-01-05 10:31:17 +01:00
Michele Balistreri fb9d33854a fixes 2023-12-20 15:22:44 +01:00
Michele Balistreri 56f74ea544 jcop45 2023-12-19 17:13:26 +01:00
321 changed files with 71276 additions and 80702 deletions
+15 -20
View File
@@ -9,11 +9,10 @@
</macros>
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
@@ -21,7 +20,11 @@
<folderInfo id="com.nxp.toolchain.llvm.chip.configuration.195444460.1973200889.907582090.693462100." name="/" resourcePath="">
<toolChain errorParsers="" id="com.nxp.toolchain.llvm.chip.toolChain.1675640132" name="LLVM Toolchain of Chip Project" superClass="com.nxp.toolchain.llvm.chip.toolChain">
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.GNU_ELF" id="com.nxp.toolchain.llvm.platform.chip.base.1236918645" isAbstract="false" name="NXP MRK3 LLVM Platform Chip" osList="win32" superClass="com.nxp.toolchain.llvm.platform.chip.base"/>
<builder arguments="-f ${workspace_loc}\SystemSDK/example/makefile" buildPath="${workspace_loc:/SystemSDK}/example" command="${BuildToolsPath}/make" id="cdt.managedbuild.builder.gnu.cross.1702722573" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.builder.gnu.cross"/>
<builder arguments="-f ${workspace_loc}\SystemSDK/example/makefile" buildPath="${workspace_loc:/SystemSDK}/example" command="${BuildToolsPath}/make" id="cdt.managedbuild.builder.gnu.cross.1702722573" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.builder.gnu.cross">
<outputEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name="example"/>
</outputEntries>
</builder>
<tool command="mrk3-cc -Wl,-no-relax " commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GLDErrorParser" id="com.nxp.toolchain.llvm.chip.linker.871746373" name="NXP MRK3 Chip Linker" superClass="com.nxp.toolchain.llvm.chip.linker">
<option id="com.nxp.toolchain.llvm.smartpoststeps.2038734181" name="Post Tool Invocation Steps" superClass="com.nxp.toolchain.llvm.smartpoststeps" valueType="stringList">
<listOptionValue builtIn="false" value="@echo 'Post build steps'"/>
@@ -40,21 +43,13 @@
</option>
<option id="llvm.c.link.option.ldflags.1330823867" name="Linker flags" superClass="llvm.c.link.option.ldflags" value="$(VARIANT_LD_INCLUDES) $(VARIANT_CPU_VERSION) -Wl,-T&quot;../ChipConfigurations/Default/SystemSettings.ld&quot; $(VARIANT_NXP_APPEXE_DIR)" valueType="string"/>
<option id="com.nxp.toolchain.llvm.option.chipexe.p71flags.1479640586" name="CPU (-mcpu)" superClass="com.nxp.toolchain.llvm.option.chipexe.p71flags" value="" valueType="string"/>
<option id="llvm.c.link.option.paths.1285625946" name="Library search path (-L)" superClass="llvm.c.link.option.paths" valueType="libPaths">
<listOptionValue builtIn="false" value="&quot;t:/JCOP_EMV/sde/launch/SCC_Projects/SystemSDK/..\Shared\Product\N7021\P71D320P_SM_NFL_M0_D0\ISS\bin&quot;"/>
</option>
<option id="llvm.linker.option.preprocessor.def.470125519" name="Defined symbols (-D)" superClass="llvm.linker.option.preprocessor.def" valueType="definedSymbols"/>
<option id="llvm.c.link.option.paths.1285625946" name="Library search path (-L)" superClass="llvm.c.link.option.paths"/>
<inputType id="com.nxp.toolchain.llvm.chip.linker.inputType.614957198" superClass="com.nxp.toolchain.llvm.chip.linker.inputType"/>
</tool>
<tool id="com.nxp.toolchain.llvm.assembler.base.2046914068" name="NXP MRK3 Assembler" superClass="com.nxp.toolchain.llvm.assembler.base"/>
<tool id="com.nxp.toolchain.llvm.c.compiler.base.242725503" name="NXP MRK3 Compiler" superClass="com.nxp.toolchain.llvm.c.compiler.base"/>
</toolChain>
</folderInfo>
<fileInfo id="com.nxp.toolchain.llvm.chip.configuration.195444460.1973200889.907582090.693462100.656920554" name="main.c" rcbsApplicability="disable" resourcePath="example/main.c" toolsToInvoke="com.nxp.toolchain.llvm.c.compiler.base.1563519969">
<tool id="com.nxp.toolchain.llvm.c.compiler.base.1563519969" name="NXP MRK3 Compiler" superClass="com.nxp.toolchain.llvm.c.compiler.base">
<inputType id="com.nxp.toolchain.llvm.c.compiler.input.1384611626" superClass="com.nxp.toolchain.llvm.c.compiler.input"/>
</tool>
</fileInfo>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings">
@@ -62,7 +57,7 @@
</storageModule>
<storageModule moduleId="com.nxp.toolchain.chipSettings" version="0.3.0">
<chipType>P71D320</chipType>
<tools compilerRevision="MRK3_LLVM_1.5.7" isRevisionWsScope="false" pmModel="Release_LARGE_PM"/>
<tools compilerRevision="MRK3_LLVM_1.6.16" isRevisionWsScope="false" pmModel="Release_LARGE_PM"/>
</storageModule>
</cconfiguration>
</storageModule>
@@ -71,10 +66,10 @@
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="SMD_P71D240P_SM_FL_M0_D0">
<configuration configurationName="ISS_P71D321P_SM_FL_M0_D0">
<resource resourceType="PROJECT" workspacePath="/SystemSDK"/>
</configuration>
<configuration configurationName="ISS_P71D321P_SM_FL_M0_D0">
<configuration configurationName="SMD_P71D240P_SM_FL_M0_D0">
<resource resourceType="PROJECT" workspacePath="/SystemSDK"/>
</configuration>
<configuration configurationName="Default">
@@ -86,17 +81,17 @@
<configuration configurationName="ISS_P71D320P_SM_FL_M0_D0">
<resource resourceType="PROJECT" workspacePath="/SystemSDK"/>
</configuration>
<configuration configurationName="SMD_P71D320P_SM_FL_M0_D0">
<resource resourceType="PROJECT" workspacePath="/SystemSDK"/>
</configuration>
<configuration configurationName="ISS_P71D321M_SM_FL_M4_D0">
<resource resourceType="PROJECT" workspacePath="/SystemSDK"/>
</configuration>
<configuration configurationName="SMD_P71D320P_SM_FL_M0_D0">
<resource resourceType="PROJECT" workspacePath="/SystemSDK"/>
</configuration>
<configuration configurationName="ISS_P71D321M_SM_NFL_M4_D0"/>
<configuration configurationName="ISS_P71D321P_SM_NFL_M0_D0"/>
<configuration configurationName="ProductIC_P71D320P_SM_FL_M0_D0"/>
<configuration configurationName="ISS_P71D320P_SM_NFL_M0_D0"/>
<configuration configurationName="ISS_P71D321P_SM_NFL_M0_D0"/>
<configuration configurationName="ISS_P71D320M_SM_NFL_M4_D0"/>
<configuration configurationName="ISS_P71D320P_SM_NFL_M0_D0"/>
<configuration configurationName="ProductIC_P71D240P_SM_FL_M0_D0">
<resource resourceType="PROJECT" workspacePath="/SystemSDK"/>
</configuration>
-11
View File
@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project>
<configuration id="com.nxp.toolchain.llvm.chip.configuration.195444460.1973200889.907582090.693462100" name="Default">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider class="org.eclipse.cdt.core.language.settings.providers.LanguageSettingsGenericProvider" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider" name="CDT User Setting Entries" prefer-non-shared="true"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="com.nxp.toolchain.llvm.MRK3BuiltinSpecsDetector" ref="shared-provider"/>
</extension>
</configuration>
</project>
@@ -1,67 +0,0 @@
eclipse.preferences.version=1
org.eclipse.cdt.codan.checkers.errnoreturn=Warning
org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
org.eclipse.cdt.codan.checkers.errreturnvalue=Error
org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.checkers.noreturn=Error
org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=Error
org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=Error
org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning
org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error
org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning
org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false}
org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning
org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()}
org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=Error
org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning
org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true}
org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.InvalidArguments=Error
org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=Error
org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=Error
org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=Error
org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info
org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning
org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.OverloadProblem=Error
org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=Error
org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=Error
org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning
org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning
org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning
org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()}
org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning
org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false}
org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning
org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false}
org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning
org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning
org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning
org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")}
org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
-163
View File
@@ -1,163 +0,0 @@
eclipse.preferences.version=1
org.eclipse.cdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.cdt.core.formatter.alignment_for_assignment=16
org.eclipse.cdt.core.formatter.alignment_for_base_clause_in_type_declaration=80
org.eclipse.cdt.core.formatter.alignment_for_binary_expression=16
org.eclipse.cdt.core.formatter.alignment_for_compact_if=16
org.eclipse.cdt.core.formatter.alignment_for_conditional_expression=34
org.eclipse.cdt.core.formatter.alignment_for_conditional_expression_chain=18
org.eclipse.cdt.core.formatter.alignment_for_constructor_initializer_list=0
org.eclipse.cdt.core.formatter.alignment_for_declarator_list=16
org.eclipse.cdt.core.formatter.alignment_for_enumerator_list=48
org.eclipse.cdt.core.formatter.alignment_for_expression_list=0
org.eclipse.cdt.core.formatter.alignment_for_expressions_in_array_initializer=16
org.eclipse.cdt.core.formatter.alignment_for_member_access=0
org.eclipse.cdt.core.formatter.alignment_for_overloaded_left_shift_chain=16
org.eclipse.cdt.core.formatter.alignment_for_parameters_in_method_declaration=16
org.eclipse.cdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
org.eclipse.cdt.core.formatter.brace_position_for_array_initializer=end_of_line
org.eclipse.cdt.core.formatter.brace_position_for_block=end_of_line
org.eclipse.cdt.core.formatter.brace_position_for_block_in_case=end_of_line
org.eclipse.cdt.core.formatter.brace_position_for_method_declaration=end_of_line
org.eclipse.cdt.core.formatter.brace_position_for_namespace_declaration=end_of_line
org.eclipse.cdt.core.formatter.brace_position_for_switch=end_of_line
org.eclipse.cdt.core.formatter.brace_position_for_type_declaration=end_of_line
org.eclipse.cdt.core.formatter.comment.min_distance_between_code_and_line_comment=1
org.eclipse.cdt.core.formatter.comment.never_indent_line_comments_on_first_column=true
org.eclipse.cdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=true
org.eclipse.cdt.core.formatter.compact_else_if=true
org.eclipse.cdt.core.formatter.continuation_indentation=2
org.eclipse.cdt.core.formatter.continuation_indentation_for_array_initializer=2
org.eclipse.cdt.core.formatter.format_guardian_clause_on_one_line=false
org.eclipse.cdt.core.formatter.indent_access_specifier_compare_to_type_header=false
org.eclipse.cdt.core.formatter.indent_access_specifier_extra_spaces=0
org.eclipse.cdt.core.formatter.indent_body_declarations_compare_to_access_specifier=true
org.eclipse.cdt.core.formatter.indent_body_declarations_compare_to_namespace_header=false
org.eclipse.cdt.core.formatter.indent_breaks_compare_to_cases=true
org.eclipse.cdt.core.formatter.indent_declaration_compare_to_template_header=false
org.eclipse.cdt.core.formatter.indent_empty_lines=false
org.eclipse.cdt.core.formatter.indent_statements_compare_to_block=true
org.eclipse.cdt.core.formatter.indent_statements_compare_to_body=true
org.eclipse.cdt.core.formatter.indent_switchstatements_compare_to_cases=true
org.eclipse.cdt.core.formatter.indent_switchstatements_compare_to_switch=true
org.eclipse.cdt.core.formatter.indentation.size=2
org.eclipse.cdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
org.eclipse.cdt.core.formatter.insert_new_line_after_template_declaration=do not insert
org.eclipse.cdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
org.eclipse.cdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
org.eclipse.cdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
org.eclipse.cdt.core.formatter.insert_new_line_before_colon_in_constructor_initializer_list=do not insert
org.eclipse.cdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
org.eclipse.cdt.core.formatter.insert_new_line_before_identifier_in_function_declaration=do not insert
org.eclipse.cdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
org.eclipse.cdt.core.formatter.insert_new_line_in_empty_block=insert
org.eclipse.cdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.cdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.cdt.core.formatter.insert_space_after_closing_angle_bracket_in_template_arguments=insert
org.eclipse.cdt.core.formatter.insert_space_after_closing_angle_bracket_in_template_parameters=insert
org.eclipse.cdt.core.formatter.insert_space_after_closing_brace_in_block=insert
org.eclipse.cdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
org.eclipse.cdt.core.formatter.insert_space_after_colon_in_base_clause=insert
org.eclipse.cdt.core.formatter.insert_space_after_colon_in_case=insert
org.eclipse.cdt.core.formatter.insert_space_after_colon_in_conditional=insert
org.eclipse.cdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_base_types=insert
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_declarator_list=insert
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_expression_list=insert
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_template_arguments=insert
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_template_parameters=insert
org.eclipse.cdt.core.formatter.insert_space_after_opening_angle_bracket_in_template_arguments=do not insert
org.eclipse.cdt.core.formatter.insert_space_after_opening_angle_bracket_in_template_parameters=do not insert
org.eclipse.cdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
org.eclipse.cdt.core.formatter.insert_space_after_opening_bracket=do not insert
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_exception_specification=do not insert
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
org.eclipse.cdt.core.formatter.insert_space_after_postfix_operator=do not insert
org.eclipse.cdt.core.formatter.insert_space_after_prefix_operator=do not insert
org.eclipse.cdt.core.formatter.insert_space_after_question_in_conditional=insert
org.eclipse.cdt.core.formatter.insert_space_after_semicolon_in_for=insert
org.eclipse.cdt.core.formatter.insert_space_after_unary_operator=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.cdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.cdt.core.formatter.insert_space_before_closing_angle_bracket_in_template_arguments=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_closing_angle_bracket_in_template_parameters=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
org.eclipse.cdt.core.formatter.insert_space_before_closing_bracket=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_exception_specification=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_colon_in_base_clause=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_colon_in_case=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_colon_in_conditional=insert
org.eclipse.cdt.core.formatter.insert_space_before_colon_in_default=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_base_types=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_declarator_list=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_expression_list=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_template_arguments=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_template_parameters=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_opening_angle_bracket_in_template_arguments=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_opening_angle_bracket_in_template_parameters=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_block=insert
org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_namespace_declaration=insert
org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
org.eclipse.cdt.core.formatter.insert_space_before_opening_bracket=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_exception_specification=insert
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_for=insert
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_if=insert
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_while=insert
org.eclipse.cdt.core.formatter.insert_space_before_postfix_operator=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_prefix_operator=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_question_in_conditional=insert
org.eclipse.cdt.core.formatter.insert_space_before_semicolon=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
org.eclipse.cdt.core.formatter.insert_space_before_unary_operator=do not insert
org.eclipse.cdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
org.eclipse.cdt.core.formatter.insert_space_between_empty_brackets=do not insert
org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_exception_specification=do not insert
org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
org.eclipse.cdt.core.formatter.join_wrapped_lines=true
org.eclipse.cdt.core.formatter.keep_else_statement_on_same_line=false
org.eclipse.cdt.core.formatter.keep_empty_array_initializer_on_one_line=false
org.eclipse.cdt.core.formatter.keep_imple_if_on_one_line=false
org.eclipse.cdt.core.formatter.keep_then_statement_on_same_line=false
org.eclipse.cdt.core.formatter.lineSplit=80
org.eclipse.cdt.core.formatter.number_of_empty_lines_to_preserve=1
org.eclipse.cdt.core.formatter.put_empty_statement_on_new_line=true
org.eclipse.cdt.core.formatter.tabulation.char=space
org.eclipse.cdt.core.formatter.tabulation.size=2
org.eclipse.cdt.core.formatter.use_tabs_only_for_leading_indentations=false
-3
View File
@@ -1,3 +0,0 @@
eclipse.preferences.version=1
formatter_profile=_K&R spaces
formatter_settings_version=1
+1 -1
View File
@@ -13,7 +13,7 @@
<SettingGroup>
<Name>Product</Name>
<Setting Name="GdbServerDevice">
<Value>N7121</Value>
<Value>D600</Value>
</Setting>
</SettingGroup>
</cfg>
@@ -15,11 +15,11 @@
<stringAttribute key="com.nxp.toolchain.dsf.nxpload.gdbservermode" value="${OEF_HWVariant}"/>
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB" value="true"/>
<listAttribute key="org.eclipse.cdt.dsf.gdb.AUTO_SOLIB_LIST"/>
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="${eclipse_home:}\.llvm\${compiler_revision}\LLVM_BUILD\install-master\bin\mrk3-gdb.exe"/>
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="${eclipse_home:}\.llvm\${compiler_revision}\LLVM_Build\install-master\bin\mrk3-gdb.exe"/>
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_ON_FORK" value="false"/>
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEV" value="/dev/ttyS0"/>
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEV_SPEED" value="115200"/>
<stringAttribute key="org.eclipse.cdt.dsf.gdb.GDB_INIT" value="${workspace_loc:}\SystemSDK\Default\conf\DBG_2022-02-07-151725_Default.chipexe\monitorcommands"/>
<stringAttribute key="org.eclipse.cdt.dsf.gdb.GDB_INIT" value="${workspace_loc:}\SystemSDK\Default\conf\DBG_2023-12-19-142946_Default.chipexe\monitorcommands"/>
<stringAttribute key="org.eclipse.cdt.dsf.gdb.HOST" value="localhost"/>
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="false"/>
<stringAttribute key="org.eclipse.cdt.dsf.gdb.PORT" value="51000"/>
@@ -42,20 +42,15 @@
<booleanAttribute key="org.eclipse.cdt.launch.use_terminal" value="true"/>
<stringAttribute key="org.eclipse.debug.core.ATTR_GDBSERVER_COMMAND" value="${workspace_loc:}\SystemSDK\tools\GdbServer.exe"/>
<stringAttribute key="org.eclipse.debug.core.ATTR_GDBSERVER_PORT" value="51000"/>
<stringAttribute key="org.eclipse.debug.core.ATTR_PRERUN_CMDS" value=""/>
<booleanAttribute key="org.eclipse.debug.core.ATTR_SKIP_DOWNLOAD_TO_TARGET" value="false"/>
<stringAttribute key="org.eclipse.debug.core.ATTR_TARGET_PATH" value=""/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/SystemSDK"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
<stringAttribute key="org.eclipse.debug.core.REMOTE_TCP" value="Local"/>
<mapAttribute key="org.eclipse.debug.core.preferred_launchers">
<mapEntry key="[debug]" value="com.nxp.toolchain.debug.dsf.launch.P71DSFRemoteLaunchDelegate"/>
<mapEntry key="[run]" value="com.nxp.toolchain.debug.dsf.launch.P71DSFRemoteLaunchDelegate"/>
</mapAttribute>
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList context=&quot;reserved-for-future-use&quot;&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191380698&quot; label=&quot;&amp;amp;(*(res))&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191380560&quot; label=&quot;mpi&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191380592&quot; label=&quot;mpi&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191380608&quot; label=&quot;mpi&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191380528&quot; label=&quot;mpi&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191364351&quot; label=&quot;u&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191364128&quot; label=&quot;x&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191380528&quot; label=&quot;x&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191380816&quot; label=&quot;n&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191380528&quot; label=&quot;&amp;amp;(*(d))&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191380528&quot; label=&quot;d&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191382000&quot; label=&quot;w&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191382000&quot; label=&quot;w&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191382192&quot; label=&quot;b&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191380656&quot; label=&quot;r&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191382000&quot; label=&quot;w&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191382096&quot; label=&quot;s&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191380752&quot; label=&quot;&amp;amp;((p)-&amp;gt;z)&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191382096&quot; label=&quot;s&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191382096&quot; label=&quot;s&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191382192&quot; label=&quot;b&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191382096&quot; label=&quot;s&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191380752&quot; label=&quot;&amp;amp;((p)-&amp;gt;z)&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191364351&quot; label=&quot;h&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191381472&quot; label=&quot;factor&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191381472&quot; label=&quot;&amp;amp;(*(factor))&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191381472&quot; label=&quot;factor&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191381472&quot; label=&quot;factor&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191381040&quot; label=&quot;r&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191381472&quot; label=&quot;factor&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191381472&quot; label=&quot;factor&quot;/&gt;&#13;&#10;&lt;gdbmemoryBlockExpression address=&quot;3602879706191381472&quot; label=&quot;factor&quot;/&gt;&#13;&#10;&lt;/memoryBlockExpressionList&gt;&#13;&#10;"/>
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList context=&quot;reserved-for-future-use&quot;/&gt;&#13;&#10;"/>
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
</launchConfiguration>
@@ -83,17 +83,31 @@ monitor enable_commserver
# <reader>: uart | jtag | ciu
monitor enable_reader uart 0001
monitor enable_reader ciu 0002
monitor enable_reader i2c 0003
monitor enable_reader spi 0004
# increase timeout for SMD usecases in [sec]
set remotetimeout 1000
# Init NV from dat file (onyl for simulator)
monitor mem_init "C:/Users/tanuki/eclipse-securebox/SystemSDK/tools/Default.dat" NV
# Init NV from dat file (only for simulator)
monitor mem_init C:\\Users\\tanuki\\eclipse-jcop45\\SystemSDK\\tools\\Default.dat NV
# Disable hardware watchpoints
set remote hardware-watchpoint-limit 0
set remote hardware-watchpoint-length-limit 0
# Disable gdb based software breakpoints
set remote memory-breakpoints off
# Make hw breakpoints the default
set breakpoint default-type hardware
# Always insert breakpoints
set breakpoint always-inserted on
# Set breakpoint limit
set remote hardware-breakpoint-limit 9
### Load metadata and all sections ###
nxpload
@@ -1,49 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP B.V. 2016 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP B.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP B.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP B.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClSymCfg_TypeDefs.h
* @brief: Type definitions of the crypto library SymCfg component
*
*/
#ifndef __PHCLSYMCFG_TYPEDEFS_H_
#define __PHCLSYMCFG_TYPEDEFS_H_
#include <phCl_TypeDefs.h>
/**
* Forward declarations
*/
/** \brief Context definition */
typedef struct phClSymCfg_Ctx_t phClSymCfg_Ctx_t;
#define __PHCLSYMCFG_TYPES_DEFINED_
#include <phClSymCfg_CommonTypeDefs.h>
#ifdef __cplusplus
extern "C"
{
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PHCLSYMCFG_TYPEDEFS_H_ */
@@ -1,28 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClUtils_Abort.h
* @brief: Interface of the Crypto Library Abort mechanism
*
*/
#ifndef __PHCLUTILS_ABORT_H_
#define __PHCLUTILS_ABORT_H_
#define PH_CLUTILS_ABORT 0
#endif /* __PHCLUTILS_ABORT_H_ */
@@ -1,26 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClUtils_Abort_FunctionDefs.h
* @brief: Function definitions for the Crypto Library Abort mechanism
*
*/
#ifndef __PHCLUTILS_ABORT_FUNCTIONDEFS_H_
#define __PHCLUTILS_ABORT_FUNCTIONDEFS_H_
#endif /* __PHCLUTILS_ABORT_FUNCTIONDEFS_H_ */
@@ -1,27 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClUtils_Abort_TypeDefs.h
* @brief: Type Definitions for the Crypto Library Abort mechanism
*
*/
#ifndef __PHCLUTILS_ABORT_TYPEDEFS_H_
#define __PHCLUTILS_ABORT_TYPEDEFS_H_
#endif /* __PHCLUTILS_ABORT_TYPEDEFS_H_ */
@@ -1,29 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP B.V. 2016 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP B.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP B.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP B.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phCl_CompilerTypeDefs.h
* @brief: Compiler type definitions
*
*/
#ifndef __PHCL_COMPILERTYPEDEFS_H_
#define __PHCL_COMPILERTYPEDEFS_H_
#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>
#endif /* __PHCL_COMPILERTYPEDEFS_H_ */
@@ -1,51 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP B.V. 2016 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP B.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP B.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP B.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phCl_Memory.h
* @brief: Macros for alignment memory
*
*/
#ifndef __PHCL_MEMORY_H_
#define __PHCL_MEMORY_H_
#include <phCl_TypeDefs.h>
#ifdef __cplusplus
extern "C" {
#endif
#define phCl_alignAddress(address) \
((void*)( (((size_t)(address)) + (sizeof(size_t) - 1)) \
& ((size_t)(~(sizeof(size_t) - 1))) ))
#define phCl_alignSize(size) \
((size_t)(((size_t)(size)) + (sizeof(size_t) - 1)) \
& ((size_t)(~(sizeof(size_t) - 1))) )
#define phCl_alignAddressWithOffset(address, offset) \
((void*)( (((size_t)(address) + (size_t)(offset)) + (sizeof(size_t) - 1)) \
& ((size_t)(~(sizeof(size_t) - 1))) ))
#define phCl_alignAddressToBoundary(address, boundary) \
((void*)( (((size_t)(address)) + (boundary - 1)) \
& ((size_t)(~(boundary - 1))) ))
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PHCL_MEMORY_H_ */
@@ -1,28 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClHash.h
* @brief: Interface of the Crypto Library Hash component
*
*/
#ifndef __PH_CLHASH_H_
#define __PH_CLHASH_H_
#include <phClHash_TypeDefs.h>
#include <phClHash_FunctionDefs.h>
#endif /* __PH_CLHASH_H_ */
@@ -1,29 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClHash_Version.h
* @brief: Version information of the Crypto Library Hash component
*
*/
#ifndef __PH_CLHASH_VERSION_H_
#define __PH_CLHASH_VERSION_H_
#define PH_CLHASH_VERSION_MAJOR 0x02
#define PH_CLHASH_VERSION_MINOR 0x02
#define PH_CLHASH_VERSION_PATCH 0x00
#endif /* __PH_CLHASH_VERSION_H_ */
@@ -1,33 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClKeyStoreMgr_StackUsage.h
* @brief: Stack usage information of the Crypto Library KeyStoreMgr component
*
*/
#ifndef __PH_CLKEYSTOREMGR_STACKUSAGE_H_
#define __PH_CLKEYSTOREMGR_STACKUSAGE_H_
#define PH_CLKEYSTOREMGR_LOADMASTERKEY_SIZE_STACK (68U)
#define PH_CLKEYSTOREMGR_UNLOADMASTERKEY_SIZE_STACK (36U)
#define PH_CLKEYSTOREMGR_SETPROTECTEDKEY_SIZE_STACK (104U)
#define PH_CLKEYSTOREMGR_GETPLAINKEY_SIZE_STACK (144U)
#define PH_CLKEYSTOREMGR_MAX_SIZE_STACK (144) // get max from the above
#endif /* __PH_CLKEYSTOREMGR_STACKUSAGE_H_*/
@@ -1,31 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClKeyStoreMgr_TypeDefs.h
* @brief: Type definitions of the crypto library KeyStoreMgr component
*
*/
#ifndef __PHCLKEYSTOREMGR_TYPEDEFS_H_
#define __PHCLKEYSTOREMGR_TYPEDEFS_H_
#include <phCl_TypeDefs.h>
#define __PHCLKEYSTOREMGR_TYPES_DEFINED_
#include <phClKeyStoreMgr_CommonTypeDefs.h>
#endif /* __PHCLKEYSTOREMGR_TYPEDEFS_H_ */
@@ -1,29 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClKeyStoreMgr_Version.h
* @brief: Version information of the Crypto Library KeyStoreMgr component
*
*/
#ifndef __PHCLKEYSTOREMGR_VERSION_H_
#define __PHCLKEYSTOREMGR_VERSION_H_
#define PH_CLKEYSTOREMGR_VERSION_MAJOR 0x02
#define PH_CLKEYSTOREMGR_VERSION_MINOR 0x01
#define PH_CLKEYSTOREMGR_VERSION_PATCH 0x00
#endif /* __PHCLKEYSTOREMGR_VERSION_H_ */
@@ -1,119 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClRng_CommonTypeDefs.h
* @brief: Common type definitions of the crypto library RNG component
*
*/
#ifndef __PHCLRNG_COMMONTYPEDEFS_H_
#define __PHCLRNG_COMMONTYPEDEFS_H_
#include <phCl_TypeDefs.h>
#define PH_CLRNG_API_VERSION 10
/** \brief Error codes */
typedef enum phClRng_Err_t
{
PH_ERR_CLRNG_INIT_OK = 0x783C, /**< \brief Initialization successful */
PH_ERR_CLRNG_GETRANDOM_OK = 0x7869, /**< \brief Random number generation successful */
PH_ERR_CLRNG_RESEED_OK = 0x7896, /**< \brief Re-seeding successful */
PH_ERR_CLRNG_UNINIT_OK = 0x78A5, /**< \brief Un-init successful */
PH_ERR_CLRNG_TOO_LONG = 0x872E, /**< \brief The requested amount of random data is too long. The limit is 1024 bytes for DES */
PH_ERR_CLRNG_NOT_INITIALIZED = 0x87E8, /**< \brief RNG instance not initialized before usage */
PH_ERR_CLRNG_FAULT_ATTACK = 0x87F0, /**< \brief Possible attack detected */
PH_ERR_CLRNG_ABORTED = 0x870F /**< \brief Random number generation aborted */
} phClRng_Err_t;
/**
* \brief Defines for context sizes
*/
#define PH_CLRNG_3DES_CTX_SIZE ((size_t) 152) /**< \brief context size for DES Mode */
#define PH_CLRNG_AES128_CTX_SIZE ((size_t) 152) /**< \brief context size for AES-128 Mode */
#define PH_CLRNG_AES192_CTX_SIZE ((size_t) 184) /**< \brief context size for AES-192 Mode */
#define PH_CLRNG_AES256_CTX_SIZE ((size_t) 204) /**< \brief context size for AES-256 Mode */
/* Settings */
/* brief defines for the cipher_mode. Always one *_MODE (cipher mode) options needs to be used in combination (logical or) with one *_PR_MODE_* (prediction resistance option).*/
#define PH_CLRNG_3DES_MODE (uint16_t)0x0001
#define PH_CLRNG_AES_MODE (uint16_t)0x0002 /* The constant were kept for backward compatibility */
#define PH_CLRNG_AES128_MODE (uint16_t)0x0002
#define PH_CLRNG_AES192_MODE (uint16_t)0x0004
#define PH_CLRNG_AES256_MODE (uint16_t)0x0008
/* Prediction resistance modes */
#define PH_CLRNG_PR_MODE_DEACTIVATED (uint16_t)0x0010
#define PH_CLRNG_PR_MODE_ACTIVATED (uint16_t)0x0020
/** \brief Security counter invariant values */
//WARNING: the values are subject of change, always use the following definitions to access valid constants
#define PH_CLRNG_SECURITYCOUNTER_VAL_INIT (0x3666U) /**< \brief Security Counter value for the function phClRng_Init() */
#define PH_CLRNG_SECURITYCOUNTER_VAL_GETRANDOM (0x5af0U) /**< \brief Security Counter value for the function phClRng_GetRandom() */
#define PH_CLRNG_SECURITYCOUNTER_VAL_RESEED (0x6798U) /**< \brief Security Counter value for the function phClRng_Reseed() */
#define PH_CLRNG_SECURITYCOUNTER_VAL_UNINIT (0x7352U) /**< \brief Security Counter value for the function phClRng_Uninit() */
/* \brief Defines masks*/
#define PH_CLRNG_WORKINGTESTMODE_MASK (0x0000FF00U)
#define PH_CLRNG_CIPHERPR_MASK (0x000000FFU)
#define PH_CLRNG_PREDICTIONRESISTANCE_MASK (0x000000F0U)
#define PH_CLRNG_CIPHERMODE_MASK (0x0000000FU)
/* Helper macros */
/**
* \brief This macro gets error code returned by phClRng_Init function.
* The error code is retrieved from 32-bit input parameter phClRngInitResult.
*
* \param [in] phClRngInitResult 32-bit value as returned by phClRng_Init function
*
* \retval error code of type phClRng_Err_t
*/
#define PH_CLRNG_INIT_GET_ERROR_CODE(phClRngInitResult) ((phClRng_Err_t)(phClRngInitResult & 0xFFFF))
/**
* \brief This macro gets cipher code returned by phClRng_Init function.
* The cipher mode is retrieved from 32-bit input parameter phClRngInitResult.
*
* \param [in] phClRngInitResult 32-bit value as returned by phClRng_Init function
*
* \retval 16-bit cipher mode
*/
#define PH_CLRNG_INIT_GET_CIPHER_MODE(phClRngInitResult) ((uint16_t)(phClRngInitResult >> 16))
/**
* \brief This macro gets error code returned by phClRng_GetRandom function.
* The error code is retrieved from 32-bit input parameter phClRngGetrandomResult.
*
* \param [in] phClRngGetrandomResult 32-bit value as returned by phClRng_GetRandom function
*
* \retval error code of type phClRng_Err_t
*/
#define PH_CLRNG_GETRANDOM_GET_ERROR_CODE(phClRngGetrandomResult) ((phClRng_Err_t)(phClRngGetrandomResult & 0xFFFF))
/**
* \brief This macro gets number of bytes returned by phClRng_GetRandom function.
* The number of bytes is retrieved from 32-bit input parameter phClRngGetrandomResult.
*
* \param [in] phClRngGetrandomResult 32-bit value as returned by phClRng_GetRandom function
*
* \retval 16-bit number of random bytes
*/
#define PH_CLRNG_GETRANDOM_GET_NUMBER_OF_BYTES(phClRngGetrandomResult) ((uint16_t)(phClRngGetrandomResult >> 16))
/* \brief this macro defines the maximum number of bytes that can be generated without re-seeding using the 3DES */
#define PH_CLRNG_3DESBYTENUMBERLIMIT (1024)
#endif /* __PHCLRNG_COMMONTYPEDEFS_H_ */
@@ -1,29 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClRng_Version.h
* @brief: Version information of the Crypto Library RNG component
*
*/
#ifndef __PH_CLRNG_VERSION_H_
#define __PH_CLRNG_VERSION_H_
#define PH_CLRNG_VERSION_MAJOR 0x05
#define PH_CLRNG_VERSION_MINOR 0x04
#define PH_CLRNG_VERSION_PATCH 0x00
#endif /* __PH_CLRNG_VERSION_H_ */
@@ -1,29 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClRngHealthTest_StackUsage.h
* @brief: Stack usage information of the Crypto Library RNG Health Test component
*
*/
#ifndef COMPS_PHCLRNGHEALTHTEST_INC_MRK3_PHCLRNGHEALTHTEST_STACKUSAGE_H_
#define COMPS_PHCLRNGHEALTHTEST_INC_MRK3_PHCLRNGHEALTHTEST_STACKUSAGE_H_
//Stack size definitions for cleanup
#define PH_CLRNGHEALTHTEST_PR_MODE_DEACTIVATED_STACK_SIZE (178)
#define PH_CLRNGHEALTHTEST_PR_MODE_ACTIVATED_STACK_SIZE (178)
#endif /* COMPS_PHCLRNGHEALTHTEST_INC_MRK3_PHCLRNGHEALTHTEST_STACKUSAGE_H_ */
@@ -1,29 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClRngHealthTest_Version.h
* @brief: Version information for the Crypto Library RNG HealthTest component
*
*/
#ifndef __PH_CLRNGHEALTHTEST_VERSION_H_
#define __PH_CLRNGHEALTHTEST_VERSION_H_
#define PH_CLRNGHEALTHTEST_VERSION_MAJOR 0x03
#define PH_CLRNGHEALTHTEST_VERSION_MINOR 0x02
#define PH_CLRNGHEALTHTEST_VERSION_PATCH 0x00
#endif /* __PH_CLRNGHEALTHTEST_VERSION_H_ */
@@ -1,53 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClRsa_OaepDecode_CommonMacrosDefs.h
* @brief: Macros to define the CPU and FX workspaces of the crypto library RSA component
*
*/
#ifndef __PHCLRSA_OAEPDECODE_COMMONMACROSDEFS_H_
#define __PHCLRSA_OAEPDECODE_COMMONMACROSDEFS_H_
#ifndef __PHCLRSA_TYPES_DEFINED_
#error Do not include this header file
#endif
#include <phClRsa_CommonMacrosDefs.h>
#ifdef __cplusplus
extern "C"
{
#endif
/**
* \brief Macros for phClRsa_OaepDecode workspace sizes
*/
#define PH_CLRSA_OAEPDECODE_SIZEOF_WS_CPU_FORMULA_EXTENDED(keyBitLen, hashAlgoCpuWaSize, hashAlgoCtxSize, hashSize) \
(phCl_alignSize(PH_CLRSA_OAEP_DB_LEN(PH_CLUTILS_BYTELEN(keyBitLen), hashSize)) \
+(6) + phCl_alignSize(hashSize) \
+ PH_CLUTILS_MAX(phCl_alignSize(hashSize) + PH_CLRSA_MGF_WA_LEN(hashAlgoCpuWaSize, hashAlgoCtxSize, hashSize), \
phCl_alignSize(PH_CLRSA_OAEP_DB_LEN(PH_CLUTILS_BYTELEN(keyBitLen), hashSize)) \
+ PH_CLUTILS_MAX(phCl_alignSize(PH_CLRSA_OAEP_DB_LEN(PH_CLUTILS_BYTELEN(keyBitLen), hashSize)) \
+ PH_CLRSA_MGF_WA_LEN(hashAlgoCpuWaSize, hashAlgoCtxSize, hashSize), \
phCl_alignSize(2*2* sizeof(uint16_t)) + phCl_alignSize(hashSize) + phCl_alignSize(hashAlgoCtxSize) + hashAlgoCpuWaSize)))
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PHCLRSA_OAEPDECODE_COMMONMACROSDEFS_H_ */
@@ -1,42 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClRsa_PlatformFunctionDefs.h
* @brief: Function definitions for the crypto library RSA component
*
*/
#ifndef __PHCLRSA_PLATFORMFUNCTIONDEFS_H_
#define __PHCLRSA_PLATFORMFUNCTIONDEFS_H_
#include <phCl_TypeDefs.h>
#ifndef __PHCLRSA_TYPES_DEFINED_
#error Do not include this header file
#endif
#ifdef __cplusplus
extern "C"
{
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PHCLRSA_PLATFORMFUNCTIONDEFS_H_ */
@@ -1,44 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClRsa_TypeDefs.h
* @brief: Common type definitions for the crypto library RSA component
*
*/
#ifndef __PHCLRSA_TYPEDEFS_H_
#define __PHCLRSA_TYPEDEFS_H_
#ifdef __cplusplus
extern "C"
{
#endif
#include <phCl_TypeDefs.h>
#include <phClHash_TypeDefs.h>
#include <phCl_Memory.h>
#include <phClSha_TypeDefs.h>
#define __PHCLRSA_TYPES_DEFINED_
#include <phClRsa_CommonTypeDefs.h>
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PHCLRSA_TYPEDEFS_H_ */
@@ -1,29 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClRsa_Version.h
* @brief: Version information for the Crypto Library RSA component
*
*/
#ifndef __PH_CLRSA_VERSION_H_
#define __PH_CLRSA_VERSION_H_
#define PH_CLRSA_VERSION_MAJOR 0x06
#define PH_CLRSA_VERSION_MINOR 0x00
#define PH_CLRSA_VERSION_PATCH 0x01
#endif /* __PH_CLRSA_VERSION_H_ */
@@ -1,29 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClRsaKg_StackUsage.h
* @brief: Stack usage information of the Crypto Library RSA component
*
*/
#ifndef COMPS_PHCLRSAKG_INC_MRK3_PHCLRSAKG_STACKUSAGE_H_
#define COMPS_PHCLRSAKG_INC_MRK3_PHCLRSAKG_STACKUSAGE_H_
/** \brief Stack usage values */
#define PH_CLRSAKG_COMPUTEPLAINKEY_STACK_USAGE ( 246 )
#define PH_CLRSAKG_CRT_STACK_USAGE ( 316 )
#endif /* COMPS_PHCLRSAKG_INC_MRK3_PHCLRSAKG_STACKUSAGE_H_ */
@@ -1,45 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClRsaKg_TypeDefs.h
* @brief: Type definitions of the crypto library RsaKg component
*
*/
#ifndef __PHCLRSAKG_TYPEDEFS_H_
#define __PHCLRSAKG_TYPEDEFS_H_
#define __PHCLRSAKG_TYPES_DEFINED_
#include <phCl_TypeDefs.h>
#include <phClRsaKg_CommonTypeDefs.h>
#ifdef __cplusplus
extern "C"
{
#endif
//This part is intentionally empty
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PHCLRSAKG_TYPEDEFS_H_ */
@@ -1,29 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClRsaKg_Version.h
* @brief: Version information for the Crypto Library RSAkg component
*
*/
#ifndef __PH_CLRSAKG_VERSION_H_
#define __PH_CLRSAKG_VERSION_H_
#define PH_CLRSAKG_VERSION_MAJOR 0x03
#define PH_CLRSAKG_VERSION_MINOR 0x07
#define PH_CLRSAKG_VERSION_PATCH 0x00
#endif /* __PH_CLRSAKG_VERSION_H_ */
@@ -1,49 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClSha_PlatformTypeDefs.h
* @brief: Platform specific type definitions for the SHA component
*
*/
#ifndef __PHCLSHA_PLATFORMTYPEDEFS_H_
#define __PHCLSHA_PLATFORMTYPEDEFS_H_
#ifdef __cplusplus
extern "C"
{
#endif
/*******************************************************************************************************************************
* Definitions
*******************************************************************************************************************************/
/** Note: Instantitate the Backup structure. */
#define PHCLSHA_INST_COPROCTRLBACKUP()
/** \brief Structure to backup sym. copro control registers */
typedef struct phClSha_coproCtrlBackup_t
{
uint32_t ctrlBackup;
uint32_t ctrl2Backup;
uint32_t sha2CtrlBackup;
} phClSha_coproCtrlBackup_t;
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PHCLSHA_PLATFORMTYPEDEFS_H_ */
@@ -1,32 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClSha_TypeDefs.h
* @brief: Type definitions of the crypto library SHA component
*
*/
#ifndef __PHCLSHA_TYPEDEFS_H_
#define __PHCLSHA_TYPEDEFS_H_
#include <phCl_TypeDefs.h>
#include <phClHash_TypeDefs.h>
#define __PHCLSHA_TYPES_DEFINED_
#include <phClSha_CommonTypeDefs.h>
#endif /* __PHCLSHA_TYPEDEFS_H_ */
@@ -1,29 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClSha_Version.h
* @brief: Version information for the Crypto Library SHA component
*
*/
#ifndef __PH_CLSHA_VERSION_H_
#define __PH_CLSHA_VERSION_H_
#define PH_CLSHA_VERSION_MAJOR 0x03
#define PH_CLSHA_VERSION_MINOR 0x01
#define PH_CLSHA_VERSION_PATCH 0x00
#endif /* __PH_CLSHA_VERSION_H_ */
@@ -1,44 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClAes_TypeDef.h
* @brief: Type definitions of the crypto library AES component
*
*/
#ifndef __PHCLAES_TYPEDEFS_H_
#define __PHCLAES_TYPEDEFS_H_
#define __PHCLAES_TYPES_DEFINED_
#include <phClSymCfg_TypeDefs.h>
#include <phClAes_CommonTypeDefs.h>
#ifdef __cplusplus
extern "C"
{
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PHCLAES_TYPEDEFS_H_ */
@@ -1,31 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClAes_Version.h
* @brief: Version information of the Crypto Library AES component
*
*/
#ifndef __PH_CLAES_VERSION_H_
#define __PH_CLAES_VERSION_H_
#include <phClSymCfg_Version.h>
#define PH_CLAES_VERSION_MAJOR PH_CLSYMCFG_VERSION_MAJOR
#define PH_CLAES_VERSION_MINOR PH_CLSYMCFG_VERSION_MINOR
#define PH_CLAES_VERSION_PATCH PH_CLSYMCFG_VERSION_PATCH
#endif /* __PH_CLAES_VERSION_H_ */
@@ -1,42 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClDes_TypeDefs.h
* @brief: Type definitions of the crypto library DES component
*
*/
#ifndef __PHCLDES_TYPEDEFS_H_
#define __PHCLDES_TYPEDEFS_H_
#define __PHCLDES_TYPES_DEFINED_
#include <phClSymCfg_TypeDefs.h>
#include <phClDes_CommonTypeDefs.h>
#ifdef __cplusplus
extern "C"
{
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PHCLDES_TYPEDEFS_H_ */
@@ -1,31 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClDes_Version.h
* @brief: Version information of the Crypto Library DES component
*
*/
#ifndef __PH_CLDES_VERSION_H_
#define __PH_CLDES_VERSION_H_
#include <phClSymCfg_Version.h>
#define PH_CLDES_VERSION_MAJOR PH_CLSYMCFG_VERSION_MAJOR
#define PH_CLDES_VERSION_MINOR PH_CLSYMCFG_VERSION_MINOR
#define PH_CLDES_VERSION_PATCH PH_CLSYMCFG_VERSION_PATCH
#endif /* __PH_CLDES_VERSION_H_ */
@@ -1,33 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClSymCfg_StackUsage.h
* @brief: Stack usage information of the Crypto Library SymCfg component
*
*/
#ifndef COMPS_PHCLSYMCFG_INC_MRK3_PHCLSYMCFG_STACKUSAGE_H_
#define COMPS_PHCLSYMCFG_INC_MRK3_PHCLSYMCFG_STACKUSAGE_H_
#define PH_CLXES_SIZE_STACK_LOADKEY ( 96)
#define PH_CLXES_SIZE_STACK_UNLOADKEY ( 34)
#define PH_CLXES_SIZE_STACK_CRYPT ( 190)
#define PH_CLXES_SIZE_STACK_ONESHOT ( 252)
#define PH_CLXES_SIZE_STACK_CMAC ( 188)
#define PH_CLXES_SIZE_STACK_SUBKEY ( 200)
#define PH_CLXES_SIZE_STACK_GENKEYCHK ( 80)
#define PH_CLXES_SIZE_STACK_SETIMPEXP ( 36)
#endif /* COMPS_PHCLSYMCFG_INC_MRK3_PHCLSYMCFG_STACKUSAGE_H_ */
@@ -1,29 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClSymCfg_Version.h
* @brief: Version information of the Crypto Library SymCfg component
*
*/
#ifndef __PH_CLSYMCFG_VERSION_H_
#define __PH_CLSYMCFG_VERSION_H_
#define PH_CLSYMCFG_VERSION_MAJOR 0x06
#define PH_CLSYMCFG_VERSION_MINOR 0x01
#define PH_CLSYMCFG_VERSION_PATCH 0x00
#endif /* __PH_CLSYMCFG_VERSION_H_ */
@@ -1,46 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClUtils_StackUsage.h
* @brief: Stack usage values for the Utils component
*
*/
#ifndef __PH_CLUTILS_STACKUSAGE_H_
#define __PH_CLUTILS_STACKUSAGE_H_
#include <phCl_TypeDefs.h>
#ifdef __cplusplus
extern "C" {
#endif
// Defines used in the ExitGate concept to clear the stack
#define PH_CLUTILS_CORE_LQRNGINIT_STACK_SIZE ( 0 )
#define PH_CLUTILS_CORE_LQRNGGETRANDOM_STACK_SIZE ( 162 )
#define PH_CLUTILS_CORE_SECUREMEMCMP_STACK_SIZE ( 52 )
#define PH_CLUTILS_CORE_SECUREMEMCPY_STACK_SIZE ( 84 )
#define PH_CLUTILS_CORE_SECUREMEMMOVE_STACK_SIZE ( 94 )
#define PH_CLUTILS_CORE_COMPUTECRC32_STACK_SIZE ( 102 )
#define PH_CLUTILS_CORE_COMPUTECRC16_STACK_SIZE ( 76 )
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PH_CLUTILS_STACKUSAGE_H_ */
@@ -1,43 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClUtils_TypeDefs.h
* @brief: Type definitions of the crypto library Utils component
*
*/
#ifndef __PH_CLUTILS_TYPEDEFS_H_
#define __PH_CLUTILS_TYPEDEFS_H_
#include <phCl_TypeDefs.h>
#define __PH_CLUTILS_TYPES_DEFINED_
#include <phClUtils_CommonTypeDefs.h>
#ifdef __cplusplus
extern "C"
{
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PH_CLUTILS_TYPEDEFS_H_ */
@@ -1,29 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClUtils_Version.h
* @brief: Version information of the Crypto Library Utils components
*
*/
#ifndef __PH_CLUTILS_VERSION_H_
#define __PH_CLUTILS_VERSION_H_
#define PH_CLUTILS_VERSION_MAJOR 0x04
#define PH_CLUTILS_VERSION_MINOR 0x00
#define PH_CLUTILS_VERSION_PATCH 0x03
#endif /* __PH_CLUTILS_VERSION_H_ */
@@ -1,37 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP B.V. 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP B.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP B.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP B.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClUtilsAsym_FameWordSize.h
* @brief: Fame wordsize definition
*
*/
#ifndef __PHCLUTILSASYM_FAMEWORDSIZE_H_
#define __PHCLUTILSASYM_FAMEWORDSIZE_H_
/** \brief FAME wordsize configuration definition */
#define PH_CLUTILS_FAME_WORD_SIZE (16U)
#endif /* __PHCLUTILSASYM_FAMEWORDSIZE_H_ */
@@ -1,40 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClUtilsAsym_FunctionDefs.h
* @brief: Function definitions of the crypto library UtilsAsym component
*
*/
#ifndef __PHCLUTILSASYM_FUNCTIONDEFS_H_
#define __PHCLUTILSASYM_FUNCTIONDEFS_H_
#include <phClUtilsAsym_PlatformFunctionDefs.h>
#ifndef __PHCLUTILSASYM_TYPES_DEFINED_
#error Do not include this header directly
#endif
#ifdef __cplusplus
extern "C"
{
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PHCLUTILSASYM_FUNCTIONDEFS_H_ */
@@ -1,38 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClUtilsAsym_Macros.h
* @brief: Public macros definitions of the crypto library UtilsAsym component
*
*/
#ifndef __PHCLUTILSASYM_MACROS_H_
#define __PHCLUTILSASYM_MACROS_H_
#include <phClUtilsAsym_FameWordSize.h>
#ifdef __cplusplus
extern "C"
{
#endif
#define PH_CLUTILS_FAME_GET_MAX_WORD_SIZE() PH_CLUTILS_FAME_WORD_MAX_SIZE
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PHCLUTILSASYM_MACROS_H_ */
@@ -1,37 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClUtilsAsym_StackUsage.h
* @brief: Stack usage values for the UtilsAsym component
*
*/
#ifndef __PH_CLUTILSASYM_STACKUSAGE_H_
#define __PH_CLUTILSASYM_STACKUSAGE_H_
#ifdef __cplusplus
extern "C"
{
#endif
// Defines used in the ExitGate concept to clear the stack
#define PH_CLUTILS_CORE_MATH_STACK_SIZE ( 166 )
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PH_CLUTILSASYM_STACKUSAGE_H_ */
@@ -1,41 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClUtilsAsym_TypeDefs.h
* @brief: Common type definitions for the crypto library UtilsAsym component
*
*/
#ifndef __PHCLUTILSASYM_TYPEDEFS_H_
#define __PHCLUTILSASYM_TYPEDEFS_H_
#ifdef __cplusplus
extern "C"
{
#endif
#include <phCl_TypeDefs.h>
#define __PHCLUTILSASYM_TYPES_DEFINED_
#include <phClUtilsAsym_CommonTypeDefs.h>
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PHCLUTILSASYM_TYPEDEFS_H_ */
@@ -1,37 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClUtilsAsym_Version.h
* @brief: Version information of the Crypto Library UtilsAsym component
*
*/
#ifndef __PH_CLUTILSASYM_VERSION_H_
#define __PH_CLUTILSASYM_VERSION_H_
/**
* Component Version X.Y.Z
* - X must be increased if API is changed (functionality removed/renamed)
* - Y must be increased if API is extended (functionality added)
* - Z must be increased if code is updated (internal changes)
*
*/
#define PH_CLUTILSASYM_VERSION_MAJOR 0x05
#define PH_CLUTILSASYM_VERSION_MINOR 0x00
#define PH_CLUTILSASYM_VERSION_PATCH 0x01
#endif /* __PH_CLUTILSASYM_VERSION_H_ */
@@ -1,29 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClUtilsExitGate_Version.h
* @brief: Version information of the Crypto Library UtilsExitGate component
*
*/
#ifndef __PH_CLUTILSEXITGATE_VERSION_H_
#define __PH_CLUTILSEXITGATE_VERSION_H_
#define PH_CLUTILSEXITGATE_VERSION_MAJOR 0x01
#define PH_CLUTILSEXITGATE_VERSION_MINOR 0x00
#define PH_CLUTILSEXITGATE_VERSION_PATCH 0x02
#endif /* __PH_CLUTILSEXITGATE_VERSION_H_ */
@@ -1,83 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
*
* @file: phClUtils_PlatformSecurityCounterDefs.h
* @brief: Security Counter Macro definitions
*
*/
#ifndef __COMPS_PHCLUTILS_EXITGATE_INC_MRK3_PHCLUTILS_PLATFORMSECURITYCOUNTER_H_
#define __COMPS_PHCLUTILS_EXITGATE_INC_MRK3_PHCLUTILS_PLATFORMSECURITYCOUNTER_H_
#include <phCl_TypeDefs.h>
#ifdef __cplusplus
extern "C"
{
#endif
/***************************************************************************************************************************************
* Security counter macros
***************************************************************************************************************************************/
#define PH_CLUTILS_SECURITYCOUNTER_SET_E(val) \
do{ \
gphCl_ScratchPad.securityCounter = val; \
}while(0)
#define PH_CLUTILS_SECURITYCOUNTER_STORE_E(variable) \
do{ \
variable = gphCl_ScratchPad.securityCounter; \
}while(0)
#define PH_CLUTILS_SECURITYCOUNTER_DECLARE_AND_STORE_E(variable) \
uint16_t variable; \
PH_CLUTILS_SECURITYCOUNTER_STORE(variable)
#define PH_CLUTILS_SECURITYCOUNTER_INC_E() \
do{ \
++(gphCl_ScratchPad.securityCounter); \
}while(0)
#define PH_CLUTILS_SECURITYCOUNTER_DEC_E() \
do{ \
--(gphCl_ScratchPad.securityCounter); \
}while(0)
#define PH_CLUTILS_SECURITYCOUNTER_ADD_WORD_E(val) \
do{ \
gphCl_ScratchPad.securityCounter+= val; \
}while(0)
#define PH_CLUTILS_SECURITYCOUNTER_SUB_WORD_E(val) \
do{ \
gphCl_ScratchPad.securityCounter-= val; \
}while(0)
#define PH_CLUTILS_SECURITYCOUNTER_CHECK_ENABLED(val) \
((uint16_t) (val) == gphCl_ScratchPad.securityCounter)
#define PH_CLUTILS_SECURITYCOUNTER_CHECK_DISABLED() \
(1)
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __COMPS_PHCLUTILS_EXITGATE_INC_MRK3_PHCLUTILS_PLATFORMSECURITYCOUNTER_H_ */
@@ -1,19 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2017, 2018 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
* !DO NOT EDIT! ###### FILE AUTOMATICALLY GENERATED BY P4/ADE/SpecTypes/IS-SFR/normalize2src.xsl ###### !DO NOT EDIT!
*/
@@ -1,19 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2017, 2018 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
* !DO NOT EDIT! ###### FILE AUTOMATICALLY GENERATED BY P4/ADE/SpecTypes/IS-SFR/normalize2src.xsl ###### !DO NOT EDIT!
*/
@@ -1,125 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2017, 2018 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
* !DO NOT EDIT! ###### FILE AUTOMATICALLY GENERATED BY P4/ADE/SpecTypes/IS-SFR/normalize2src.xsl ###### !DO NOT EDIT!
*/
#ifndef PHILIBSFRUMTIMER_H
#define PHILIBSFRUMTIMER_H
#include <phIlibSfrUm.h>
/**
* Defines for Scope TIMER
*/
// Common Defines
#define PHLIB_SFRUMTIMER_B_CTRL_ADDR 0x00b8U
#define PHLIB_SFRUMTIMER_B_CTRL_SIZE 0x02U
#define PHLIB_SFRUMTIMER_B_CTRL_POR_VALUE 0x0000U
#define PHLIB_SFRUMTIMER_B_CTRL_RESET_VALUE 0x0000U
#define PHLIB_SFRUMTIMER_B_CTRL_RESET_VALUE_MASK 0xcfffU
#define PHLIB_SFRUMTIMER_B_CTRL_WMASK 0xfffU
#define PHLIB_SFRUMTIMER_B_CTRL_RMASK 0xcff8U
#define PHLIB_SFRUMTIMER_B_CTRL_WORD_ONLY false
// Bit Defines
#define PHLIB_SFRUMTIMER_B_CTRL_STOP 0U
#define PHLIB_SFRUMTIMER_B_CTRL_STOP_MASK 0x0001U
#define PHLIB_SFRUMTIMER_B_CTRL_START 1U
#define PHLIB_SFRUMTIMER_B_CTRL_START_MASK 0x0002U
#define PHLIB_SFRUMTIMER_B_CTRL_RELOAD 2U
#define PHLIB_SFRUMTIMER_B_CTRL_RELOAD_MASK 0x0004U
#define PHLIB_SFRUMTIMER_B_CTRL_MODE 3U
#define PHLIB_SFRUMTIMER_B_CTRL_MODE_MASK 0x0008U
#define PHLIB_SFRUMTIMER_B_CTRL_DIV 4U
#define PHLIB_SFRUMTIMER_B_CTRL_DIV_MASK 0x00F0U
#define PHLIB_SFRUMTIMER_B_CTRL_IRQ_REL 8U
#define PHLIB_SFRUMTIMER_B_CTRL_IRQ_REL_MASK 0x0100U
#define PHLIB_SFRUMTIMER_B_CTRL_IRQ_WUP_EN 9U
#define PHLIB_SFRUMTIMER_B_CTRL_IRQ_WUP_EN_MASK 0x0200U
#define PHLIB_SFRUMTIMER_B_CTRL_IRQ_LVL 10U
#define PHLIB_SFRUMTIMER_B_CTRL_IRQ_LVL_MASK 0x0C00U
#define PHLIB_SFRUMTIMER_B_CTRL_IRQ_LVL_MASK_VALUE_OFF 0x0000U
#define PHLIB_SFRUMTIMER_B_CTRL_IRQ_LVL_MASK_VALUE_LOW 0x0400U
#define PHLIB_SFRUMTIMER_B_CTRL_IRQ_LVL_MASK_VALUE_MEDIUM 0x0800U
#define PHLIB_SFRUMTIMER_B_CTRL_IRQ_LVL_MASK_VALUE_HIGH 0x0c00U
#define PHLIB_SFRUMTIMER_B_CTRL_RUNNING 14U
#define PHLIB_SFRUMTIMER_B_CTRL_RUNNING_MASK 0x4000U
#define PHLIB_SFRUMTIMER_B_CTRL_IRQ 15U
#define PHLIB_SFRUMTIMER_B_CTRL_IRQ_MASK 0x8000U
// Common Defines
#define PHLIB_SFRUMTIMER_B_CNTR_ADDR 0x00baU
#define PHLIB_SFRUMTIMER_B_CNTR_SIZE 0x02U
#define PHLIB_SFRUMTIMER_B_CNTR_POR_VALUE 0x0000U
#define PHLIB_SFRUMTIMER_B_CNTR_RESET_VALUE 0x0000U
#define PHLIB_SFRUMTIMER_B_CNTR_RESET_VALUE_MASK 0xffffU
#define PHLIB_SFRUMTIMER_B_CNTR_WMASK 0xffffU
#define PHLIB_SFRUMTIMER_B_CNTR_RMASK 0xffffU
#define PHLIB_SFRUMTIMER_B_CNTR_WORD_ONLY false
// Bit Defines
// Common Defines
#define PHLIB_SFRUMTIMER_A_CTRL_ADDR 0x00f0U
#define PHLIB_SFRUMTIMER_A_CTRL_SIZE 0x02U
#define PHLIB_SFRUMTIMER_A_CTRL_POR_VALUE 0x0000U
#define PHLIB_SFRUMTIMER_A_CTRL_RESET_VALUE 0x0000U
#define PHLIB_SFRUMTIMER_A_CTRL_RESET_VALUE_MASK 0xcfffU
#define PHLIB_SFRUMTIMER_A_CTRL_WMASK 0xfffU
#define PHLIB_SFRUMTIMER_A_CTRL_RMASK 0xcff8U
#define PHLIB_SFRUMTIMER_A_CTRL_WORD_ONLY false
// Bit Defines
#define PHLIB_SFRUMTIMER_A_CTRL_STOP 0U
#define PHLIB_SFRUMTIMER_A_CTRL_STOP_MASK 0x0001U
#define PHLIB_SFRUMTIMER_A_CTRL_START 1U
#define PHLIB_SFRUMTIMER_A_CTRL_START_MASK 0x0002U
#define PHLIB_SFRUMTIMER_A_CTRL_RELOAD 2U
#define PHLIB_SFRUMTIMER_A_CTRL_RELOAD_MASK 0x0004U
#define PHLIB_SFRUMTIMER_A_CTRL_MODE 3U
#define PHLIB_SFRUMTIMER_A_CTRL_MODE_MASK 0x0008U
#define PHLIB_SFRUMTIMER_A_CTRL_DIV 4U
#define PHLIB_SFRUMTIMER_A_CTRL_DIV_MASK 0x00F0U
#define PHLIB_SFRUMTIMER_A_CTRL_IRQ_REL 8U
#define PHLIB_SFRUMTIMER_A_CTRL_IRQ_REL_MASK 0x0100U
#define PHLIB_SFRUMTIMER_A_CTRL_IRQ_WUP_EN 9U
#define PHLIB_SFRUMTIMER_A_CTRL_IRQ_WUP_EN_MASK 0x0200U
#define PHLIB_SFRUMTIMER_A_CTRL_IRQ_LVL 10U
#define PHLIB_SFRUMTIMER_A_CTRL_IRQ_LVL_MASK 0x0C00U
#define PHLIB_SFRUMTIMER_A_CTRL_IRQ_LVL_MASK_VALUE_OFF 0x0000U
#define PHLIB_SFRUMTIMER_A_CTRL_IRQ_LVL_MASK_VALUE_LOW 0x0400U
#define PHLIB_SFRUMTIMER_A_CTRL_IRQ_LVL_MASK_VALUE_MEDIUM 0x0800U
#define PHLIB_SFRUMTIMER_A_CTRL_IRQ_LVL_MASK_VALUE_HIGH 0x0c00U
#define PHLIB_SFRUMTIMER_A_CTRL_RUNNING 14U
#define PHLIB_SFRUMTIMER_A_CTRL_RUNNING_MASK 0x4000U
#define PHLIB_SFRUMTIMER_A_CTRL_IRQ 15U
#define PHLIB_SFRUMTIMER_A_CTRL_IRQ_MASK 0x8000U
// Common Defines
#define PHLIB_SFRUMTIMER_A_CNTR_ADDR 0x00f2U
#define PHLIB_SFRUMTIMER_A_CNTR_SIZE 0x02U
#define PHLIB_SFRUMTIMER_A_CNTR_POR_VALUE 0x0000U
#define PHLIB_SFRUMTIMER_A_CNTR_RESET_VALUE 0x0000U
#define PHLIB_SFRUMTIMER_A_CNTR_RESET_VALUE_MASK 0xffffU
#define PHLIB_SFRUMTIMER_A_CNTR_WMASK 0xffffU
#define PHLIB_SFRUMTIMER_A_CNTR_RMASK 0xffffU
#define PHLIB_SFRUMTIMER_A_CNTR_WORD_ONLY false
// Bit Defines
extern PHLIB_SFRUM_WORD_REG(gphlibSfrUm_TIMER_B_CTRL, PHLIB_SFRUMTIMER_B_CTRL_ADDR, PHLIB_SFRUM_BASIC_SFR_MEM_SPACE)
extern PHLIB_SFRUM_WORD_REG(gphlibSfrUm_TIMER_B_CNTR, PHLIB_SFRUMTIMER_B_CNTR_ADDR, PHLIB_SFRUM_BASIC_SFR_MEM_SPACE)
extern PHLIB_SFRUM_WORD_REG(gphlibSfrUm_TIMER_A_CTRL, PHLIB_SFRUMTIMER_A_CTRL_ADDR, PHLIB_SFRUM_BASIC_SFR_MEM_SPACE)
extern PHLIB_SFRUM_WORD_REG(gphlibSfrUm_TIMER_A_CNTR, PHLIB_SFRUMTIMER_A_CNTR_ADDR, PHLIB_SFRUM_BASIC_SFR_MEM_SPACE)
#endif /* PHILIBSFRTIMER_H */
@@ -1,121 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2017, 2018 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/**
* !DO NOT EDIT! ###### FILE AUTOMATICALLY GENERATED BY P4/ADE/SpecTypes/IS-SFR/normalize2src.xsl ###### !DO NOT EDIT!
*/
#ifndef PHILIBSFRUMTIMERASM_H
#define PHILIBSFRUMTIMERASM_H
/**
* Undefs for Scope
*/
/**
* Defines for Scope
*/
// Common Defines
#define PHLIB_SFRUMTIMERASM_B_CTRL_ADDR 0x00b8
#define PHLIB_SFRUMTIMERASM_B_CTRL_SIZE 0x02
#define PHLIB_SFRUMTIMERASM_B_CTRL_POR_VALUE 0x0000
#define PHLIB_SFRUMTIMERASM_B_CTRL_RESET_VALUE 0x0000
#define PHLIB_SFRUMTIMERASM_B_CTRL_RESET_VALUE_MASK 0xcfff
#define PHLIB_SFRUMTIMERASM_B_CTRL_WMASK 0xfff
#define PHLIB_SFRUMTIMERASM_B_CTRL_RMASK 0xcff8
// Bit Defines
#define PHLIB_SFRUMTIMERASM_B_CTRL_STOP 0
#define PHLIB_SFRUMTIMERASM_B_CTRL_STOP_MASK 0x0001
#define PHLIB_SFRUMTIMERASM_B_CTRL_START 1
#define PHLIB_SFRUMTIMERASM_B_CTRL_START_MASK 0x0002
#define PHLIB_SFRUMTIMERASM_B_CTRL_RELOAD 2
#define PHLIB_SFRUMTIMERASM_B_CTRL_RELOAD_MASK 0x0004
#define PHLIB_SFRUMTIMERASM_B_CTRL_MODE 3
#define PHLIB_SFRUMTIMERASM_B_CTRL_MODE_MASK 0x0008
#define PHLIB_SFRUMTIMERASM_B_CTRL_DIV 4
#define PHLIB_SFRUMTIMERASM_B_CTRL_DIV_MASK 0x00F0
#define PHLIB_SFRUMTIMERASM_B_CTRL_IRQ_REL 8
#define PHLIB_SFRUMTIMERASM_B_CTRL_IRQ_REL_MASK 0x0100
#define PHLIB_SFRUMTIMERASM_B_CTRL_IRQ_WUP_EN 9
#define PHLIB_SFRUMTIMERASM_B_CTRL_IRQ_WUP_EN_MASK 0x0200
#define PHLIB_SFRUMTIMERASM_B_CTRL_IRQ_LVL 10
#define PHLIB_SFRUMTIMERASM_B_CTRL_IRQ_LVL_MASK 0x0C00
#define PHLIB_SFRUMTIMERASM_B_CTRL_IRQ_LVL_MASK_VALUE_OFF 0x0000
#define PHLIB_SFRUMTIMERASM_B_CTRL_IRQ_LVL_MASK_VALUE_LOW 0x0400
#define PHLIB_SFRUMTIMERASM_B_CTRL_IRQ_LVL_MASK_VALUE_MEDIUM 0x0800
#define PHLIB_SFRUMTIMERASM_B_CTRL_IRQ_LVL_MASK_VALUE_HIGH 0x0c00
#define PHLIB_SFRUMTIMERASM_B_CTRL_RUNNING 14
#define PHLIB_SFRUMTIMERASM_B_CTRL_RUNNING_MASK 0x4000
#define PHLIB_SFRUMTIMERASM_B_CTRL_IRQ 15
#define PHLIB_SFRUMTIMERASM_B_CTRL_IRQ_MASK 0x8000
// Common Defines
#define PHLIB_SFRUMTIMERASM_B_CNTR_ADDR 0x00ba
#define PHLIB_SFRUMTIMERASM_B_CNTR_SIZE 0x02
#define PHLIB_SFRUMTIMERASM_B_CNTR_POR_VALUE 0x0000
#define PHLIB_SFRUMTIMERASM_B_CNTR_RESET_VALUE 0x0000
#define PHLIB_SFRUMTIMERASM_B_CNTR_RESET_VALUE_MASK 0xffff
#define PHLIB_SFRUMTIMERASM_B_CNTR_WMASK 0xffff
#define PHLIB_SFRUMTIMERASM_B_CNTR_RMASK 0xffff
// Bit Defines
// Common Defines
#define PHLIB_SFRUMTIMERASM_A_CTRL_ADDR 0x00f0
#define PHLIB_SFRUMTIMERASM_A_CTRL_SIZE 0x02
#define PHLIB_SFRUMTIMERASM_A_CTRL_POR_VALUE 0x0000
#define PHLIB_SFRUMTIMERASM_A_CTRL_RESET_VALUE 0x0000
#define PHLIB_SFRUMTIMERASM_A_CTRL_RESET_VALUE_MASK 0xcfff
#define PHLIB_SFRUMTIMERASM_A_CTRL_WMASK 0xfff
#define PHLIB_SFRUMTIMERASM_A_CTRL_RMASK 0xcff8
// Bit Defines
#define PHLIB_SFRUMTIMERASM_A_CTRL_STOP 0
#define PHLIB_SFRUMTIMERASM_A_CTRL_STOP_MASK 0x0001
#define PHLIB_SFRUMTIMERASM_A_CTRL_START 1
#define PHLIB_SFRUMTIMERASM_A_CTRL_START_MASK 0x0002
#define PHLIB_SFRUMTIMERASM_A_CTRL_RELOAD 2
#define PHLIB_SFRUMTIMERASM_A_CTRL_RELOAD_MASK 0x0004
#define PHLIB_SFRUMTIMERASM_A_CTRL_MODE 3
#define PHLIB_SFRUMTIMERASM_A_CTRL_MODE_MASK 0x0008
#define PHLIB_SFRUMTIMERASM_A_CTRL_DIV 4
#define PHLIB_SFRUMTIMERASM_A_CTRL_DIV_MASK 0x00F0
#define PHLIB_SFRUMTIMERASM_A_CTRL_IRQ_REL 8
#define PHLIB_SFRUMTIMERASM_A_CTRL_IRQ_REL_MASK 0x0100
#define PHLIB_SFRUMTIMERASM_A_CTRL_IRQ_WUP_EN 9
#define PHLIB_SFRUMTIMERASM_A_CTRL_IRQ_WUP_EN_MASK 0x0200
#define PHLIB_SFRUMTIMERASM_A_CTRL_IRQ_LVL 10
#define PHLIB_SFRUMTIMERASM_A_CTRL_IRQ_LVL_MASK 0x0C00
#define PHLIB_SFRUMTIMERASM_A_CTRL_IRQ_LVL_MASK_VALUE_OFF 0x0000
#define PHLIB_SFRUMTIMERASM_A_CTRL_IRQ_LVL_MASK_VALUE_LOW 0x0400
#define PHLIB_SFRUMTIMERASM_A_CTRL_IRQ_LVL_MASK_VALUE_MEDIUM 0x0800
#define PHLIB_SFRUMTIMERASM_A_CTRL_IRQ_LVL_MASK_VALUE_HIGH 0x0c00
#define PHLIB_SFRUMTIMERASM_A_CTRL_RUNNING 14
#define PHLIB_SFRUMTIMERASM_A_CTRL_RUNNING_MASK 0x4000
#define PHLIB_SFRUMTIMERASM_A_CTRL_IRQ 15
#define PHLIB_SFRUMTIMERASM_A_CTRL_IRQ_MASK 0x8000
// Common Defines
#define PHLIB_SFRUMTIMERASM_A_CNTR_ADDR 0x00f2
#define PHLIB_SFRUMTIMERASM_A_CNTR_SIZE 0x02
#define PHLIB_SFRUMTIMERASM_A_CNTR_POR_VALUE 0x0000
#define PHLIB_SFRUMTIMERASM_A_CNTR_RESET_VALUE 0x0000
#define PHLIB_SFRUMTIMERASM_A_CNTR_RESET_VALUE_MASK 0xffff
#define PHLIB_SFRUMTIMERASM_A_CNTR_WMASK 0xffff
#define PHLIB_SFRUMTIMERASM_A_CNTR_RMASK 0xffff
// Bit Defines
#endif /* PHILIBSFRUMTIMER_ASM_H */
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,16 +1,17 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP B.V. 2016 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP B.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP B.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP B.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/* Copyright 2016 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
@@ -1,16 +1,17 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP B.V. 2016 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP B.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP B.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP B.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/* Copyright 2016 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
@@ -1,16 +1,17 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP B.V. 2016 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP B.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP B.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP B.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/* Copyright 2016 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
@@ -0,0 +1,50 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClSymCfg_TypeDefs.h
* @brief: Type definitions of the crypto library SymCfg component
*
*/
#ifndef __PHCLSYMCFG_TYPEDEFS_H_
#define __PHCLSYMCFG_TYPEDEFS_H_
#include <phCl_TypeDefs.h>
/**
* Forward declarations
*/
/** \brief Context definition */
typedef struct phClSymCfg_Ctx_t phClSymCfg_Ctx_t;
#define __PHCLSYMCFG_TYPES_DEFINED_
#include <phClSymCfg_CommonTypeDefs.h>
#ifdef __cplusplus
extern "C"
{
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PHCLSYMCFG_TYPEDEFS_H_ */
@@ -0,0 +1,29 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClUtils_Abort.h
* @brief: Interface of the Crypto Library Abort mechanism
*
*/
#ifndef __PHCLUTILS_ABORT_H_
#define __PHCLUTILS_ABORT_H_
#define PH_CLUTILS_ABORT 0
#endif /* __PHCLUTILS_ABORT_H_ */
@@ -0,0 +1,27 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClUtils_Abort_FunctionDefs.h
* @brief: Function definitions for the Crypto Library Abort mechanism
*
*/
#ifndef __PHCLUTILS_ABORT_FUNCTIONDEFS_H_
#define __PHCLUTILS_ABORT_FUNCTIONDEFS_H_
#endif /* __PHCLUTILS_ABORT_FUNCTIONDEFS_H_ */
@@ -0,0 +1,28 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClUtils_Abort_TypeDefs.h
* @brief: Type Definitions for the Crypto Library Abort mechanism
*
*/
#ifndef __PHCLUTILS_ABORT_TYPEDEFS_H_
#define __PHCLUTILS_ABORT_TYPEDEFS_H_
#endif /* __PHCLUTILS_ABORT_TYPEDEFS_H_ */
@@ -0,0 +1,30 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phCl_CompilerTypeDefs.h
* @brief: Compiler type definitions
*
*/
#ifndef __PHCL_COMPILERTYPEDEFS_H_
#define __PHCL_COMPILERTYPEDEFS_H_
#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>
#endif /* __PHCL_COMPILERTYPEDEFS_H_ */
@@ -0,0 +1,182 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2014-2020 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
* @file: phCl_Examples.h
* @brief: Types and definitions for CL examples
*/
#ifndef __PH_CL_EXAMPLES_H_
#define __PH_CL_EXAMPLES_H_
#include <phCl_TypeDefs.h>
#include <phCl_Examples_Platform.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Return codes for CL examples */
#define PH_CL_EXAMPLE_OK 0x00u /**< Example executed successfully. */
#define PH_CL_EXAMPLE_FAILURE 0xFFu /**< Example execution contained failure that could occur during normal execution (like iterations exceeded). */
#define PH_CL_EXAMPLE_ERROR 0xEEu /**< Example execution contained error that should not occur during normal execution (like fault attacks). */
/* Buffer size for example application name */
/* To compute longest example application name:
* #cygwin: for i in $(cat `find . -name "*_Examples.c"` | grep "PH_CL_EXAMPLES" -A 50 | grep "phCl.*," | grep -v "PH_CL_EXAMPLES" | sed -e 's%,.*%%g' | awk '{ print $1 }'); do echo ${#i}; done | sort -n | tail -n 1
*/
#define PH_CL_EXAMPLE_APPNAME_LEN (64)
/* Return code type for CL examples */
typedef uint8_t phCl_Example_ReturnCode_t;
/* Function pointer type for CL examples */
typedef phCl_Example_ReturnCode_t (* phCl_Example_t)(void);
/* CL example definition macro */
#define PH_CL_EXAMPLE_FUNCTION(__name) phCl_Example_ReturnCode_t __name(void)
/* CL example app names definition macro */
#define PH_CL_EXAMPLE_APPNAME_FUNCTION(__app) const char * __app(uint8_t num)
/* CL examples list */
#define PH_CL_EXAMPLES(__comp, ...) \
__EX_COUNTPROTO(__comp) \
__EX_FUNCAPPNAMEPROTO(__comp) \
__EX_APPLY_MACRO(__EX_FUNCPROTO, __VA_ARGS__) \
extern const phCl_Example_t DM32_MEMORY_TYPE __EX_NAME(__comp)[]; \
const phCl_Example_t DM32_MEMORY_TYPE __EX_NAME(__comp)[] = \
{ \
__EX_COUNTENTRY(__comp) \
__EX_APPLY_MACRO(__EX_FUNCENTRY, __VA_ARGS__) \
}; \
extern const char DM32_MEMORY_TYPE __EX_APPNAMETABLE(__comp)[][PH_CL_EXAMPLE_APPNAME_LEN]; \
const char DM32_MEMORY_TYPE __EX_APPNAMETABLE(__comp)[][PH_CL_EXAMPLE_APPNAME_LEN] = \
{ \
__EX_APPLY_MACRO(__EX_APPNAMETABLEENTRY, __VA_ARGS__) \
}; \
__EX_COUNTDEF(__comp) \
__EX_APPNAMEDEF(__comp)
/* CL examples list internals */
#define __EX_NAME(__comp) __comp ## _Examples
#define __EX_COUNT(__comp) __comp ## _ExamplesCount
#define __EX_APPNAME(__comp) __comp ## _ExamplesAppName
#define __EX_APPNAMETABLE(__comp) __comp ## _ExamplesAppNameTable
#define __EX_FUNCDEF(__func) PH_CL_EXAMPLE_FUNCTION(__func)
#define __EX_FUNCAPPNAMEDEF(__func) PH_CL_EXAMPLE_APPNAME_FUNCTION(__func)
#define __EX_COUNTPROTO(__comp) __EX_FUNCDEF(__EX_COUNT(__comp));
#define __EX_FUNCPROTO(__func) __EX_FUNCDEF(__func);
#define __EX_FUNCAPPNAMEPROTO(__func) __EX_FUNCAPPNAMEDEF(__EX_APPNAME(__func));
#define __EX_COUNTENTRY(__comp) __EX_COUNT(__comp),
#define __EX_FUNCENTRY(__func) (__func),
#define __EX_APPNAMETABLEENTRY(__name) __EX_STRINGIFY(__name),
#define __EX_COUNTDEF(__comp) \
__EX_FUNCDEF(__EX_COUNT(__comp)) \
{ \
return (phCl_Example_ReturnCode_t) ((sizeof(__EX_NAME(__comp)))/(sizeof(__EX_NAME(__comp)[0]))); \
}
#define __EX_APPNAMEDEF(__comp) \
__EX_FUNCAPPNAMEDEF(__EX_APPNAME(__comp)) \
{ \
return (const char *) (__EX_APPNAMETABLE(__comp)[num-1U]); \
}
/*****************************************************************************
* Helper macros *
*****************************************************************************/
/* Helper macro to convert evaluated value to a string */
#define __EX_STRINGIFY(__text) __EX_STRINGIFY_I_(__text)
#define __EX_STRINGIFY_I_(__text) # __text
/* Apply a macro to all arguments */
#define __EX_APPLY_MACRO(__macro, ...) __EX_EVAL(__EX_MAP(__macro, __VA_ARGS__))
/* Evaluate a complex macro (which needs multiple expansions to be processed) */
#define __EX_EVAL(...) __EX_EVAL1024(__VA_ARGS__)
#define __EX_EVAL1024(...) __EX_EVAL512(__EX_EVAL512(__VA_ARGS__))
#define __EX_EVAL512(...) __EX_EVAL256(__EX_EVAL256(__VA_ARGS__))
#define __EX_EVAL256(...) __EX_EVAL128(__EX_EVAL128(__VA_ARGS__))
#define __EX_EVAL128(...) __EX_EVAL64( __EX_EVAL64( __VA_ARGS__))
#define __EX_EVAL64(...) __EX_EVAL32( __EX_EVAL32( __VA_ARGS__))
#define __EX_EVAL32(...) __EX_EVAL16( __EX_EVAL16( __VA_ARGS__))
#define __EX_EVAL16(...) __EX_EVAL8( __EX_EVAL8( __VA_ARGS__))
#define __EX_EVAL8(...) __EX_EVAL4( __EX_EVAL4( __VA_ARGS__))
#define __EX_EVAL4(...) __EX_EVAL2( __EX_EVAL2( __VA_ARGS__))
#define __EX_EVAL2(...) __EX_EVAL1( __EX_EVAL1( __VA_ARGS__))
#define __EX_EVAL1(...) __VA_ARGS__
/* Recursive definition of map macro, assumes at least one argument */
#define __EX_MAP(__macro, ...) \
/* Apply the macro to the first argument from the list */\
__macro(__EX_FIRST(__VA_ARGS__, /* ensure second argument: */ 0)) \
/* Only proceed if there are additional arguments */\
__EX_IF(__EX_HAS_MORE_ARGS(__VA_ARGS__))( \
/* Recursive call for remaining arguments */\
__EX_DEFER2(__EX_MAP_)()(__macro, __EX_NEXT(__VA_ARGS__)) \
)
#define __EX_MAP_() __EX_MAP
/* Extract first argument (requires at least two arguments to be present) */
#define __EX_FIRST(x, ...) x
/* Extract second argument (requires at least three arguments to be present) */
#define __EX_SECOND(x, y, ...) y
/* Remove the first argument from the list (requires at least two arguments to be present) */
#define __EX_NEXT(...) __EX_NEXT_()(__VA_ARGS__)
#define __EX_NEXT_() __EX_NEXT__
#define __EX_NEXT__(x, ...) __VA_ARGS__
/* Check whether there is more then one argument */
#define __EX_HAS_MORE_ARGS(...) __EX_NOT(__EX_IS_MARKER(__EX_SECOND(__VA_ARGS__, __EX_MARKER(), __EX_MARKER())))
/* Check whether the argument is __EX_MARKER(), return 1 if it is */
#define __EX_IS_MARKER(...) __EX_SECOND(__VA_ARGS__, 0, 0)
#define __EX_MARKER() ~, 1
/* Concatenation */
#define __EX_CAT(x,y) x ## y
/* Convert any argument into a bool (either 0 or 1), by double negation */
#define __EX_BOOL(x) __EX_NOT(__EX_NOT(x))
/* Boolean negation (map value 0 to the marker, and check if we have the marker) */
#define __EX_NOT(x) __EX_IS_MARKER(__EX_CAT(__EX_NOT_BOOL_, x))
#define __EX_NOT_BOOL_0 __EX_MARKER()
/* Convert condition to bool */
#define __EX_IF(condition) __EX_IF_(__EX_BOOL(condition))
/* Convert bool to decision defines */
#define __EX_IF_(condition) __EX_CAT(__EX_IF_BOOL_, condition)
/* If 0, do nothing*/
#define __EX_IF_BOOL_0(...)
/* If 1, perform action */
#define __EX_IF_BOOL_1(...) __VA_ARGS__
/* Defer macro expansion */
#define __EX_EMPTY()
#define __EX_DEFER1(macro) macro __EX_EMPTY()
#define __EX_DEFER2(macro) macro __EX_EMPTY __EX_EMPTY()()
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PH_CL_EXAMPLES_H_ */
@@ -0,0 +1,73 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2014,2015,2016,2017,2018,2019 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClExamples_Platform.h
* @brief: Types and definitions for CL examples
*
*/
#ifndef __PH_CL_EXAMPLES_PLATFORM_H_
#define __PH_CL_EXAMPLES_PLATFORM_H_
#include <phCl_TypeDefs.h>
#include <phClRng.h>
#ifdef __cplusplus
extern "C" {
#endif
#define phClExample_InitRng(pCtx) \
unsigned int phClExample_RngContext[phCl_alignSize(PH_CLRNG_AES128_CTX_SIZE) / (sizeof(unsigned int))]; \
do { \
(pCtx) = (phClRng_Ctx_t *) &phClExample_RngContext[0]; \
uint32_t status = phClRng_Init((pCtx), PH_CLRNG_PR_MODE_DEACTIVATED | PH_CLRNG_AES128_MODE); \
if ((PH_ERR_CLRNG_INIT_OK != PH_CLRNG_INIT_GET_ERROR_CODE(status)) || ((PH_CLRNG_PR_MODE_DEACTIVATED | PH_CLRNG_AES128_MODE) != PH_CLRNG_INIT_GET_CIPHER_MODE(status))) { \
return PH_CL_EXAMPLE_ERROR; \
} \
} while (0);
#define PH_CLEXAMPLE_SECURITYCOUNTER_VAL_INITRNG \
(PH_CLRNG_SECURITYCOUNTER_VAL_INIT + (phCl_uint_t) PH_ERR_CLRNG_INIT_OK + (PH_CLRNG_PR_MODE_DEACTIVATED | PH_CLRNG_AES128_MODE))
/* Base address of the FAME memory, should be defined by the linker.
* It is assumed that the address is aligned to Fame Word size
*/
extern const unsigned char __fxram_start;
#define phClExample_AllocWorkareaFAME(pWa, size) \
do { \
(pWa) = (phCl_WorkareaFAME_t *) &__fxram_start; \
} while (0);
#define phClExample_AllocWorkareaCPU(pWa, size) \
phCl_WorkareaCPU_t phClExample_WorkareaCPU[phCl_alignSize(size) / (sizeof(phCl_WorkareaCPU_t))]; \
do { \
(pWa) = (phCl_WorkareaCPU_t *) &phClExample_WorkareaCPU[0]; \
} while (0);
#define phClExample_ReturnErrorIfNotEqual(a, b, size) \
for (phCl_uint_t phClExample_i = 0; phClExample_i < (size); phClExample_i++) { \
if ((a)[phClExample_i] != (b)[phClExample_i]) { \
return PH_CL_EXAMPLE_ERROR; \
} \
}
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PH_CL_EXAMPLES_H_ */
@@ -0,0 +1,52 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phCl_Memory.h
* @brief: Macros for alignment memory
*
*/
#ifndef __PHCL_MEMORY_H_
#define __PHCL_MEMORY_H_
#include <phCl_TypeDefs.h>
#ifdef __cplusplus
extern "C" {
#endif
#define phCl_alignAddress(address) \
((void*)( (((size_t)(address)) + (sizeof(size_t) - 1)) \
& ((size_t)(~(sizeof(size_t) - 1))) ))
#define phCl_alignSize(size) \
( ((phCl_Size_t) (((phCl_Size_t)(size)) + ((sizeof(phCl_Size_t)) - 1U))) \
& ((phCl_Size_t) (~((sizeof(phCl_Size_t)) - 1U))) )
#define phCl_alignAddressWithOffset(address, offset) \
((void*)( (((size_t)(address) + (size_t)(offset)) + (sizeof(size_t) - 1)) \
& ((size_t)(~(sizeof(size_t) - 1))) ))
#define phCl_alignAddressToBoundary(address, boundary) \
((void*)( (((size_t)(address)) + (boundary - 1)) \
& ((size_t)(~(boundary - 1))) ))
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PHCL_MEMORY_H_ */
@@ -1,16 +1,17 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP B.V. 2016 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP B.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP B.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP B.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/* Copyright 2016 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
@@ -34,6 +35,7 @@
#define PH_CL_SHORTCALL_ATTRIBUTE _PM16
typedef uint16_t phCl_Size_t;
typedef uint16_t phCl_uint_t;
/**
* P71 global scratch pad structure definition
@@ -1,16 +1,17 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP B.V. 2016 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP B.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP B.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP B.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/* Copyright 2016 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
@@ -0,0 +1,27 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2014,2015,2016,2017,2018,2019 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phCl_scpPlatformDefs.h
* @brief: empty file for C40
*
*/
#ifndef __PHCL_SCPPLATFORMDEFS_H_
#define __PHCL_SCPPLATFORMDEFS_H_
#endif /* __PHCL_SCPPLATFORMDEFS_H_ */
@@ -0,0 +1,100 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClEccGfp.h
* @brief: Interface of the crypto library ECC over GF(p) component
*
*/
#ifndef __PHCLECCGFP_H_
#define __PHCLECCGFP_H_
#include <phClEccGfp_TypeDefs.h>
#ifdef __cplusplus
extern "C" {
#endif
phClEccGfp_Err_t phClEccGfp_KeyGen_Long(
phClEccGfp_KeyGen_Param_t *pParams /**< \brief Pointer to parameter struct */
) PH_CL_LONGCALL_ATTRIBUTE;
phClEccGfp_Err_t phClEccGfp_Sign_Long(
phClEccGfp_Sign_Param_t *pParams /**< \brief Pointer to parameter struct */
) PH_CL_LONGCALL_ATTRIBUTE;
phClEccGfp_Err_t phClEccGfp_Verify_Long(
phClEccGfp_Verify_Param_t *pParams /**< \brief Pointer to parameter struct */
) PH_CL_LONGCALL_ATTRIBUTE;
phClEccGfp_Err_t phClEccGfp_PointMult_Long(
phClEccGfp_PointMult_Param_t *pParams /**< \brief Pointer to parameter struct */
) PH_CL_LONGCALL_ATTRIBUTE;
phClEccGfp_Err_t phClEccGfp_PointAdd_Long(
phClEccGfp_PointAdd_Param_t *pParams /**< \brief Pointer to parameter struct */
) PH_CL_LONGCALL_ATTRIBUTE;
phClEccGfp_Err_t phClEccGfp_VerifyEllipticCurveGfpParam_Long(
phClEccGfp_VerifyCurveParamGfp_Param_t *pParams /**< \brief Pointer to parameter struct */
) PH_CL_LONGCALL_ATTRIBUTE;
phClEccGfp_Err_t phClEccGfp_CalcPrecomputedPoints_Long(
phClEccGfp_CalcPrecomputedPoints_Param_t *pParams /**< \brief Pointer to parameter struct */
) PH_CL_LONGCALL_ATTRIBUTE;
static inline phClEccGfp_Err_t phClEccGfp_KeyGen(phClEccGfp_KeyGen_Param_t *pParams)
{
return phClEccGfp_KeyGen_Long(pParams);
}
static inline phClEccGfp_Err_t phClEccGfp_Sign(phClEccGfp_Sign_Param_t *pParams)
{
return phClEccGfp_Sign_Long(pParams);
}
static inline phClEccGfp_Err_t phClEccGfp_Verify(phClEccGfp_Verify_Param_t *pParams)
{
return phClEccGfp_Verify_Long(pParams);
}
static inline phClEccGfp_Err_t phClEccGfp_PointMult(phClEccGfp_PointMult_Param_t *pParams)
{
return phClEccGfp_PointMult_Long(pParams);
}
static inline phClEccGfp_Err_t phClEccGfp_PointAdd(phClEccGfp_PointAdd_Param_t *pParams)
{
return phClEccGfp_PointAdd_Long(pParams);
}
static inline phClEccGfp_Err_t phClEccGfp_VerifyEllipticCurveGfpParam(phClEccGfp_VerifyCurveParamGfp_Param_t *pParams)
{
return phClEccGfp_VerifyEllipticCurveGfpParam_Long(pParams);
}
static inline phClEccGfp_Err_t phClEccGfp_CalcPrecomputedPoints(phClEccGfp_CalcPrecomputedPoints_Param_t *pParams)
{
return phClEccGfp_CalcPrecomputedPoints_Long(pParams);
}
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PHCLECCGFP_H_ */
@@ -0,0 +1,647 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017,2020-2021 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClEccGfp_CommonTypeDefs.h
* @brief: Common type definitions of the crypto library EccGfp component
*
*/
#ifndef __PHCLECCGFP_COMMONTYPEDEFS_H_
#define __PHCLECCGFP_COMMONTYPEDEFS_H_
#include <phCl_TypeDefs.h>
#include <phClUtils_TypeDefs.h>
#include <phClUtilsAsym_FameWordSize.h>
#include <phClEccGfp_PlatformConstDefs.h>
#include <phClEccGfp_Config.h>
#ifndef __PHCLECCGFP_TYPES_DEFINED_
#error Do not include this header directly
#endif
#ifdef __cplusplus
extern "C"
{
#endif
/************************************************************************************/
/** \brief Error codes */
/************************************************************************************/
/** \brief Enum to define error codes */
typedef enum phClEccGfp_Err_t
{
PH_ERR_CLECCGFP_KEYGEN_OK = 0x5533, /**< \brief Key generation was successful */
PH_ERR_CLECCGFP_POINTMULT_OK = 0x5535, /**< \brief Point multiplication was successful*/
PH_ERR_CLECCGFP_POINTADD_OK = 0x5555, /**< \brief Point addition was successful */
PH_ERR_CLECCGFP_VERIFYECPARAM_OK = 0x5556, /**< \brief Domain parameter check was successful */
PH_ERR_CLECCGFP_SIGN_OK = 0x5566, /**< \brief Signature generation was successful */
PH_ERR_CLECCGFP_VERIFY_OK = 0x5569, /**< \brief Signature is valid */
PH_ERR_CLECCGFP_CALCPRECPOINTS_OK = 0x5536, /**< \brief Calculation of pre-computed points was successful */
PH_ERR_CLECCGFP_POINTMULT_NEUTRAL_POINT = 0x5563, /**< \brief Scalar is zero modulo n */
PH_ERR_CLECCGFP_POINTADD_NEUTRAL_POINT = 0x5599, /**< \brief The input points are inverse to each other for addition and identical for subtraction */
PH_ERR_CLECCGFP_POINTMULT_INVALID_PARAMS = 0xAA1E, /**< \brief Invalid input parameters */
PH_ERR_CLECCGFP_POINTADD_INVALID_PARAMS = 0xAA1D, /**< \brief Invalid input parameters */
PH_ERR_CLECCGFP_CALCPRECPOINTS_INVALID_PARAMS = 0xAA1C, /**< \brief Invalid input parameters */
PH_ERR_CLECCGFP_SIGN_NOT_OK = 0xAA71, /**< \brief Signature is invalid */
PH_ERR_CLECCGFP_VERIFYECPARAM_NOT_OK = 0xAA27, /**< \brief Domain parameters are invalid */
PH_ERR_CLECCGFP_VERIFY_NOT_OK = 0xAA17, /**< \brief Signature is invalid */
PH_ERR_CLECCGFP_VERIFY_INVALID_PARAMS = 0xAA2B, /**< \brief Invalid input parameters */
PH_ERR_CLECCGFP_FAULT_ATTACK = 0xAAF0, /**< \brief Fault attack detected */
PH_ERR_CLECCGFP_ABORTED = 0xAA0F /**< \brief Execution was aborted, only applicable when abort mechanism is enabled */
} phClEccGfp_Err_t;
/************************************************************************************/
/** */
/** \brief Definition of FAME3 workarea size in bytes for ECC APIs */
/** */
/************************************************************************************/
/** \brief Adjust the size to the next FAME3 word */
#define PH_CLECCGFP_FW_LEN(byteLen) PH_CLUTILS_ADJUST_SIZE(byteLen, PH_CLUTILS_FAME_WORD_SIZE)
#define PH_CLECCGFP_ADJUST_WITH_CACHE(inputLen) \
/* inputLen is a multiple of 2 */\
(PH_CLECCGFP_FW_LEN(inputLen + PH_CLECCGFP_FAME_OFFSET_FOR_CACHE))
#define PH_CLECCGFP_INTERNALPOINTMULT_SIZEOF_WA_FAME(pLen, nLen, noBuffers, noVirtuals) \
( (PH_CLECCGFP_FW_LEN( PH_CLUTILS_MAX(pLen, nLen) ) + PH_CLUTILS_FAME_WORD_SIZE) * noBuffers + \
PH_CLECCGFP_SIZEOF_PTRT_IN_FAMEWA(PH_CLECCGFP_ADJUST_WITH_CACHE(2 * (noVirtuals + noBuffers))) )
#define PH_CLECCGFP_CORE_SIZEOF_WA_FAME(pLen, nLen, noBuffers, noVirtuals) \
( (PH_CLECCGFP_FW_LEN( PH_CLUTILS_MAX(pLen, nLen) ) + PH_CLUTILS_FAME_WORD_SIZE) * noBuffers + \
PH_CLECCGFP_SIZEOF_PTRT_IN_FAMEWA(PH_CLECCGFP_FW_LEN(2 * (noVirtuals + noBuffers))) )
/************************************************************************************/
/** \brief Definition of FAME3 workarea size in bytes for ECDSA Sign. Generation */
/************************************************************************************/
/** \brief Macros to define the number of used buffers */
#define PH_CLECCGFP_SIGN_NO_OF_VIRTUALS (9)
/* PH_CLECCGFP_SIGN_NO_OF_BUFFERS defined in phClEccGfp_Config.h */
/** \brief Macro to determine FAME3 workarea size for arbitrary byte lengths of p and n and defines for FAME3 workarea sizes for standard key lengths */
#define PH_CLECCGFP_SIGN_SIZEOF_WA_FAME(pLen, nLen) \
PH_CLECCGFP_INTERNALPOINTMULT_SIZEOF_WA_FAME(pLen, nLen, PH_CLECCGFP_SIGN_NO_OF_BUFFERS, PH_CLECCGFP_SIGN_NO_OF_VIRTUALS)
#define PH_CLECCGFP_SIGN_SIZEOF_WA_FAME_128() PH_CLECCGFP_SIGN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(128), PH_CLUTILS_BYTELEN(128)) /**< \brief Sign FAME3 workarea size for bit length up to 128 */
#define PH_CLECCGFP_SIGN_SIZEOF_WA_FAME_160() PH_CLECCGFP_SIGN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(160), PH_CLUTILS_BYTELEN(160)) /**< \brief Sign FAME3 workarea size for bit length up to 160 */
#define PH_CLECCGFP_SIGN_SIZEOF_WA_FAME_192() PH_CLECCGFP_SIGN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(192), PH_CLUTILS_BYTELEN(192)) /**< \brief Sign FAME3 workarea size for bit length up to 192 */
#define PH_CLECCGFP_SIGN_SIZEOF_WA_FAME_224() PH_CLECCGFP_SIGN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(224), PH_CLUTILS_BYTELEN(224)) /**< \brief Sign FAME3 workarea size for bit length up to 224 */
#define PH_CLECCGFP_SIGN_SIZEOF_WA_FAME_239() PH_CLECCGFP_SIGN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(239), PH_CLUTILS_BYTELEN(239)) /**< \brief Sign FAME3 workarea size for bit length up to 239 */
#define PH_CLECCGFP_SIGN_SIZEOF_WA_FAME_256() PH_CLECCGFP_SIGN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(256), PH_CLUTILS_BYTELEN(256)) /**< \brief Sign FAME3 workarea size for bit length up to 256 */
#define PH_CLECCGFP_SIGN_SIZEOF_WA_FAME_320() PH_CLECCGFP_SIGN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(320), PH_CLUTILS_BYTELEN(320)) /**< \brief Sign FAME3 workarea size for bit length up to 320 */
#define PH_CLECCGFP_SIGN_SIZEOF_WA_FAME_384() PH_CLECCGFP_SIGN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(384), PH_CLUTILS_BYTELEN(384)) /**< \brief Sign FAME3 workarea size for bit length up to 384 */
#define PH_CLECCGFP_SIGN_SIZEOF_WA_FAME_512() PH_CLECCGFP_SIGN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(512), PH_CLUTILS_BYTELEN(512)) /**< \brief Sign FAME3 workarea size for bit length up to 512 */
#define PH_CLECCGFP_SIGN_SIZEOF_WA_FAME_521() PH_CLECCGFP_SIGN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(521), PH_CLUTILS_BYTELEN(521)) /**< \brief Sign FAME3 workarea size for bit length up to 521 */
#define PH_CLECCGFP_SIGN_SIZEOF_WA_FAME_576() PH_CLECCGFP_SIGN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(576), PH_CLUTILS_BYTELEN(576)) /**< \brief Sign FAME3 workarea size for bit length up to 576 */
#define PH_CLECCGFP_SIGN_SIZEOF_WA_FAME_638() PH_CLECCGFP_SIGN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(638), PH_CLUTILS_BYTELEN(638)) /**< \brief Sign FAME3 workarea size for bit length up to 638 */
#define PH_CLECCGFP_SIGN_SIZEOF_WA_FAME_640() PH_CLECCGFP_SIGN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(640), PH_CLUTILS_BYTELEN(640)) /**< \brief Sign FAME3 workarea size for bit length up to 640 */
/************************************************************************************/
/** \brief Definition of FAME3 workarea size in bytes for ECDSA Sign. Verification */
/************************************************************************************/
/** \brief Macros to define the number of used buffers */
#define PH_CLECCGFP_VERIFY_NO_OF_VIRTUALS (10)
/* PH_CLECCGFP_VERIFY_NO_OF_BUFFERS defined in phClEccGfp_Config.h */
/** \brief Macro to determine FAME3 workarea size for arbitrary byte lengths of p and n and defines for Fame workarea sizes for standard key lengths */
#define PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME(pLen, nLen) \
PH_CLECCGFP_CORE_SIZEOF_WA_FAME(pLen, nLen, PH_CLECCGFP_VERIFY_NO_OF_BUFFERS, PH_CLECCGFP_VERIFY_NO_OF_VIRTUALS)
#define PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME_128() PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(128), PH_CLUTILS_BYTELEN(128)) /**< \brief Verify FAME3 workarea size for bit length up to 128 */
#define PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME_160() PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(160), PH_CLUTILS_BYTELEN(160)) /**< \brief Verify FAME3 workarea size for bit length up to 160 */
#define PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME_192() PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(192), PH_CLUTILS_BYTELEN(192)) /**< \brief Verify FAME3 workarea size for bit length up to 192 */
#define PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME_224() PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(224), PH_CLUTILS_BYTELEN(224)) /**< \brief Verify FAME3 workarea size for bit length up to 224 */
#define PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME_239() PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(239), PH_CLUTILS_BYTELEN(239)) /**< \brief Verify FAME3 workarea size for bit length up to 239 */
#define PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME_256() PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(256), PH_CLUTILS_BYTELEN(256)) /**< \brief Verify FAME3 workarea size for bit length up to 256 */
#define PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME_320() PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(320), PH_CLUTILS_BYTELEN(320)) /**< \brief Verify FAME3 workarea size for bit length up to 320 */
#define PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME_384() PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(384), PH_CLUTILS_BYTELEN(384)) /**< \brief Verify FAME3 workarea size for bit length up to 384 */
#define PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME_512() PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(512), PH_CLUTILS_BYTELEN(512)) /**< \brief Verify FAME3 workarea size for bit length up to 512 */
#define PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME_521() PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(521), PH_CLUTILS_BYTELEN(521)) /**< \brief Verify FAME3 workarea size for bit length up to 521 */
#define PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME_576() PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(576), PH_CLUTILS_BYTELEN(576)) /**< \brief Verify FAME3 workarea size for bit length up to 576 */
#define PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME_638() PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(638), PH_CLUTILS_BYTELEN(638)) /**< \brief Verify FAME3 workarea size for bit length up to 638 */
#define PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME_640() PH_CLECCGFP_VERIFY_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(640), PH_CLUTILS_BYTELEN(640)) /**< \brief Verify FAME3 workarea size for bit length up to 640 */
/************************************************************************************/
/** \brief Definition of FAME3 workarea size in bytes for EC Key Generation */
/************************************************************************************/
/** \brief Macros to define the number of used buffers */
#define PH_CLECCGFP_KEYGEN_NO_OF_VIRTUALS (9)
/* PH_CLECCGFP_KEYGEN_NO_OF_BUFFERS defined in phClEccGfp_Config.h */
/** \brief Macro to determine FAME3 workarea size for arbitrary byte lengths of p and n and defines for Fame workarea sizes for standard key lengths */
#define PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME(pLen, nLen) \
PH_CLECCGFP_INTERNALPOINTMULT_SIZEOF_WA_FAME(pLen, nLen, PH_CLECCGFP_KEYGEN_NO_OF_BUFFERS, PH_CLECCGFP_KEYGEN_NO_OF_VIRTUALS)
#define PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME_128() PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(128), PH_CLUTILS_BYTELEN(128)) /**< \brief KeyGen FAME3 workarea size for bit length up to 128 */
#define PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME_160() PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(160), PH_CLUTILS_BYTELEN(160)) /**< \brief KeyGen FAME3 workarea size for bit length up to 160 */
#define PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME_192() PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(192), PH_CLUTILS_BYTELEN(192)) /**< \brief KeyGen FAME3 workarea size for bit length up to 192 */
#define PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME_224() PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(224), PH_CLUTILS_BYTELEN(224)) /**< \brief KeyGen FAME3 workarea size for bit length up to 224 */
#define PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME_239() PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(239), PH_CLUTILS_BYTELEN(239)) /**< \brief KeyGen FAME3 workarea size for bit length up to 239 */
#define PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME_256() PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(256), PH_CLUTILS_BYTELEN(256)) /**< \brief KeyGen FAME3 workarea size for bit length up to 256 */
#define PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME_320() PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(320), PH_CLUTILS_BYTELEN(320)) /**< \brief KeyGen FAME3 workarea size for bit length up to 320 */
#define PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME_384() PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(384), PH_CLUTILS_BYTELEN(384)) /**< \brief KeyGen FAME3 workarea size for bit length up to 384 */
#define PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME_512() PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(512), PH_CLUTILS_BYTELEN(512)) /**< \brief KeyGen FAME3 workarea size for bit length up to 512 */
#define PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME_521() PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(521), PH_CLUTILS_BYTELEN(521)) /**< \brief KeyGen FAME3 workarea size for bit length up to 521 */
#define PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME_576() PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(576), PH_CLUTILS_BYTELEN(576)) /**< \brief KeyGen FAME3 workarea size for bit length up to 576 */
#define PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME_638() PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(638), PH_CLUTILS_BYTELEN(638)) /**< \brief KeyGen FAME3 workarea size for bit length up to 638 */
#define PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME_640() PH_CLECCGFP_KEYGEN_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(640), PH_CLUTILS_BYTELEN(640)) /**< \brief KeyGen FAME3 workarea size for bit length up to 640 */
/************************************************************************************/
/** \brief Definition of FAME3 workarea size in bytes for Point Multiplication */
/************************************************************************************/
/** \brief Macros to define the number of used buffers */
#define PH_CLECCGFP_POINTMULT_NO_OF_VIRTUALS (9)
/* PH_CLECCGFP_POINTMULT_NO_OF_BUFFERS defined in phClEccGfp_Config.h */
/** \brief Macro to determine FAME3 workarea size for arbitrary byte lengths of p and n and defines for Fame workarea sizes for standard key lengths */
#define PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME(pLen, nLen) \
PH_CLECCGFP_INTERNALPOINTMULT_SIZEOF_WA_FAME(pLen, nLen, PH_CLECCGFP_POINTMULT_NO_OF_BUFFERS, PH_CLECCGFP_POINTMULT_NO_OF_VIRTUALS)
#define PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME_128() PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(128), PH_CLUTILS_BYTELEN(128)) /**< \brief PointMult FAME3 workarea size for bit length up to 128 */
#define PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME_160() PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(160), PH_CLUTILS_BYTELEN(160)) /**< \brief PointMult FAME3 workarea size for bit length up to 160 */
#define PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME_192() PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(192), PH_CLUTILS_BYTELEN(192)) /**< \brief PointMult FAME3 workarea size for bit length up to 192 */
#define PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME_224() PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(224), PH_CLUTILS_BYTELEN(224)) /**< \brief PointMult FAME3 workarea size for bit length up to 224 */
#define PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME_239() PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(239), PH_CLUTILS_BYTELEN(239)) /**< \brief PointMult FAME3 workarea size for bit length up to 239 */
#define PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME_256() PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(256), PH_CLUTILS_BYTELEN(256)) /**< \brief PointMult FAME3 workarea size for bit length up to 256 */
#define PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME_320() PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(320), PH_CLUTILS_BYTELEN(320)) /**< \brief PointMult FAME3 workarea size for bit length up to 320 */
#define PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME_384() PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(384), PH_CLUTILS_BYTELEN(384)) /**< \brief PointMult FAME3 workarea size for bit length up to 384 */
#define PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME_512() PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(512), PH_CLUTILS_BYTELEN(512)) /**< \brief PointMult FAME3 workarea size for bit length up to 512 */
#define PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME_521() PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(521), PH_CLUTILS_BYTELEN(521)) /**< \brief PointMult FAME3 workarea size for bit length up to 521 */
#define PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME_576() PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(576), PH_CLUTILS_BYTELEN(576)) /**< \brief PointMult FAME3 workarea size for bit length up to 576 */
#define PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME_638() PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(638), PH_CLUTILS_BYTELEN(638)) /**< \brief PointMult FAME3 workarea size for bit length up to 638 */
#define PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME_640() PH_CLECCGFP_POINTMULT_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(640), PH_CLUTILS_BYTELEN(640)) /**< \brief PointMult FAME3 workarea size for bit length up to 640 */
/************************************************************************************/
/** \brief Definition of FAME3 workarea size in bytes for EC Point Addition */
/************************************************************************************/
/** \brief Macros to define the number of used buffers */
#define PH_CLECCGFP_POINTADD_NO_OF_BUFFERS (13)
#define PH_CLECCGFP_POINTADD_NO_OF_VIRTUALS (14)
/** \brief Macro to determine FAME3 workarea size for arbitrary byte lengths of p and n and defines for Fame workarea sizes for standard key lengths */
#define PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME(pLen, nLen) \
PH_CLECCGFP_CORE_SIZEOF_WA_FAME(pLen, nLen, PH_CLECCGFP_POINTADD_NO_OF_BUFFERS, PH_CLECCGFP_POINTADD_NO_OF_VIRTUALS)
#define PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME_128() PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(128), PH_CLUTILS_BYTELEN(128)) /**< \brief PointAdd FAME3 workarea size for bit length up to 128 */
#define PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME_160() PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(160), PH_CLUTILS_BYTELEN(160)) /**< \brief PointAdd FAME3 workarea size for bit length up to 160 */
#define PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME_192() PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(192), PH_CLUTILS_BYTELEN(192)) /**< \brief PointAdd FAME3 workarea size for bit length up to 192 */
#define PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME_224() PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(224), PH_CLUTILS_BYTELEN(224)) /**< \brief PointAdd FAME3 workarea size for bit length up to 224 */
#define PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME_239() PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(239), PH_CLUTILS_BYTELEN(239)) /**< \brief PointAdd FAME3 workarea size for bit length up to 239 */
#define PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME_256() PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(256), PH_CLUTILS_BYTELEN(256)) /**< \brief PointAdd FAME3 workarea size for bit length up to 256 */
#define PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME_320() PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(320), PH_CLUTILS_BYTELEN(320)) /**< \brief PointAdd FAME3 workarea size for bit length up to 320 */
#define PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME_384() PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(384), PH_CLUTILS_BYTELEN(384)) /**< \brief PointAdd FAME3 workarea size for bit length up to 384 */
#define PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME_512() PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(512), PH_CLUTILS_BYTELEN(512)) /**< \brief PointAdd FAME3 workarea size for bit length up to 512 */
#define PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME_521() PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(521), PH_CLUTILS_BYTELEN(521)) /**< \brief PointAdd FAME3 workarea size for bit length up to 521 */
#define PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME_576() PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(576), PH_CLUTILS_BYTELEN(576)) /**< \brief PointAdd FAME3 workarea size for bit length up to 576 */
#define PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME_638() PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(638), PH_CLUTILS_BYTELEN(638)) /**< \brief PointAdd FAME3 workarea size for bit length up to 638 */
#define PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME_640() PH_CLECCGFP_POINTADD_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(640), PH_CLUTILS_BYTELEN(640)) /**< \brief PointAdd FAME3 workarea size for bit length up to 640 */
/************************************************************************************/
/** \brief Definition of FAME3 workarea size in bytes for Parameters Verification */
/************************************************************************************/
/** \brief Macros to define the number of used buffers */
#define PH_CLECCGFP_VERIFYECPARAM_NO_OF_BUFFERS (13)
#define PH_CLECCGFP_VERIFYECPARAM_NO_OF_VIRTUALS (14)
/** \brief Macro to determine FAME3 workarea size for arbitrary byte lengths of p and n and defines for Fame workarea sizes for standard key lengths */
#define PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME(pLen, nLen) \
PH_CLECCGFP_CORE_SIZEOF_WA_FAME(pLen, nLen, PH_CLECCGFP_VERIFYECPARAM_NO_OF_BUFFERS, PH_CLECCGFP_VERIFYECPARAM_NO_OF_VIRTUALS)
#define PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME_128() PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(128), PH_CLUTILS_BYTELEN(128)) /**< \brief VerifyCurveParamGfp FAME3 workarea size for bit length up to 128 */
#define PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME_160() PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(160), PH_CLUTILS_BYTELEN(160)) /**< \brief VerifyCurveParamGfp FAME3 workarea size for bit length up to 160 */
#define PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME_192() PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(192), PH_CLUTILS_BYTELEN(192)) /**< \brief VerifyCurveParamGfp FAME3 workarea size for bit length up to 192 */
#define PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME_224() PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(224), PH_CLUTILS_BYTELEN(224)) /**< \brief VerifyCurveParamGfp FAME3 workarea size for bit length up to 224 */
#define PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME_239() PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(239), PH_CLUTILS_BYTELEN(239)) /**< \brief VerifyCurveParamGfp FAME3 workarea size for bit length up to 239 */
#define PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME_256() PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(256), PH_CLUTILS_BYTELEN(256)) /**< \brief VerifyCurveParamGfp FAME3 workarea size for bit length up to 256 */
#define PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME_320() PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(320), PH_CLUTILS_BYTELEN(320)) /**< \brief VerifyCurveParamGfp FAME3 workarea size for bit length up to 320 */
#define PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME_384() PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(384), PH_CLUTILS_BYTELEN(384)) /**< \brief VerifyCurveParamGfp FAME3 workarea size for bit length up to 384 */
#define PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME_512() PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(512), PH_CLUTILS_BYTELEN(512)) /**< \brief VerifyCurveParamGfp FAME3 workarea size for bit length up to 512 */
#define PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME_521() PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(521), PH_CLUTILS_BYTELEN(521)) /**< \brief VerifyCurveParamGfp FAME3 workarea size for bit length up to 521 */
#define PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME_576() PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(576), PH_CLUTILS_BYTELEN(576)) /**< \brief VerifyCurveParamGfp FAME3 workarea size for bit length up to 576 */
#define PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME_638() PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(638), PH_CLUTILS_BYTELEN(638)) /**< \brief VerifyCurveParamGfp FAME3 workarea size for bit length up to 638 */
#define PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME_640() PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_FAME(PH_CLUTILS_BYTELEN(640), PH_CLUTILS_BYTELEN(640)) /**< \brief VerifyCurveParamGfp FAME3 workarea size for bit length up to 640 */
/************************************************************************************/
/** \brief Definition of FAME3 workarea size in bytes for Pre-computed Points calc.*/
/************************************************************************************/
/** \brief Macros to define the number of used buffers */
#define PH_CLECCGFP_CALCPRECPOINTS_NO_OF_VIRTUALS (14)
/* PH_CLECCGFP_CALCPRECPOINTS_NO_OF_BUFFERS_GEN/VER/GEN_VER defined in phClEccGfp_Config.h */
/** \brief Macro to determine FAME3 workarea size for arbitrary byte lengths of p and n and defines for Fame workarea sizes for standard key lengths */
/** \brief Case: Calculation of pre-computed points for ECDSA Signature Verification */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER(pLen, nLen) \
PH_CLECCGFP_CORE_SIZEOF_WA_FAME(pLen, nLen, PH_CLECCGFP_CALCPRECPOINTS_NO_OF_BUFFERS_VER, PH_CLECCGFP_CALCPRECPOINTS_NO_OF_VIRTUALS)
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER_128() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER(PH_CLUTILS_BYTELEN(128), PH_CLUTILS_BYTELEN(128)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 128 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER_160() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER(PH_CLUTILS_BYTELEN(160), PH_CLUTILS_BYTELEN(160)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 160 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER_192() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER(PH_CLUTILS_BYTELEN(192), PH_CLUTILS_BYTELEN(192)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 192 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER_224() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER(PH_CLUTILS_BYTELEN(224), PH_CLUTILS_BYTELEN(224)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 224 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER_239() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER(PH_CLUTILS_BYTELEN(239), PH_CLUTILS_BYTELEN(239)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 239 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER_256() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER(PH_CLUTILS_BYTELEN(256), PH_CLUTILS_BYTELEN(256)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 256 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER_320() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER(PH_CLUTILS_BYTELEN(320), PH_CLUTILS_BYTELEN(320)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 320 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER_384() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER(PH_CLUTILS_BYTELEN(384), PH_CLUTILS_BYTELEN(384)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 384 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER_512() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER(PH_CLUTILS_BYTELEN(512), PH_CLUTILS_BYTELEN(512)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 512 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER_521() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER(PH_CLUTILS_BYTELEN(521), PH_CLUTILS_BYTELEN(521)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 521 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER_576() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER(PH_CLUTILS_BYTELEN(576), PH_CLUTILS_BYTELEN(576)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 576 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER_638() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER(PH_CLUTILS_BYTELEN(638), PH_CLUTILS_BYTELEN(638)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 638 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER_640() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_VER(PH_CLUTILS_BYTELEN(640), PH_CLUTILS_BYTELEN(640)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 640 */
/** \brief Case: Calculation of pre-computed points for ECDSA Signature Generation, EC Key Generation and EC Point Multiplication */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN(pLen, nLen) \
PH_CLECCGFP_CORE_SIZEOF_WA_FAME(pLen, nLen, PH_CLECCGFP_CALCPRECPOINTS_NO_OF_BUFFERS_GEN, PH_CLECCGFP_CALCPRECPOINTS_NO_OF_VIRTUALS)
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_128() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN(PH_CLUTILS_BYTELEN(128), PH_CLUTILS_BYTELEN(128)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 128 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_160() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN(PH_CLUTILS_BYTELEN(160), PH_CLUTILS_BYTELEN(160)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 160 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_192() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN(PH_CLUTILS_BYTELEN(192), PH_CLUTILS_BYTELEN(192)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 192 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_224() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN(PH_CLUTILS_BYTELEN(224), PH_CLUTILS_BYTELEN(224)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 224 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_239() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN(PH_CLUTILS_BYTELEN(239), PH_CLUTILS_BYTELEN(239)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 239 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_256() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN(PH_CLUTILS_BYTELEN(256), PH_CLUTILS_BYTELEN(256)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 256 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_320() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN(PH_CLUTILS_BYTELEN(320), PH_CLUTILS_BYTELEN(320)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 320 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_384() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN(PH_CLUTILS_BYTELEN(384), PH_CLUTILS_BYTELEN(384)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 384 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_512() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN(PH_CLUTILS_BYTELEN(512), PH_CLUTILS_BYTELEN(512)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 512 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_521() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN(PH_CLUTILS_BYTELEN(521), PH_CLUTILS_BYTELEN(521)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 521 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_576() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN(PH_CLUTILS_BYTELEN(576), PH_CLUTILS_BYTELEN(576)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 576 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_638() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN(PH_CLUTILS_BYTELEN(638), PH_CLUTILS_BYTELEN(638)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 638 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_640() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN(PH_CLUTILS_BYTELEN(640), PH_CLUTILS_BYTELEN(640)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 640 */
/** \brief Case: Calculation of pre-computed points for ECDSA Signature Generation, ECDSA Signature Verification, EC Key Generation and EC Point Multiplication */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER(pLen, nLen) \
PH_CLECCGFP_CORE_SIZEOF_WA_FAME(pLen, nLen, PH_CLECCGFP_CALCPRECPOINTS_NO_OF_BUFFERS_GEN_VER, PH_CLECCGFP_CALCPRECPOINTS_NO_OF_VIRTUALS)
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER_128() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER(PH_CLUTILS_BYTELEN(128), PH_CLUTILS_BYTELEN(128)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 128 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER_160() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER(PH_CLUTILS_BYTELEN(160), PH_CLUTILS_BYTELEN(160)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 160 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER_192() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER(PH_CLUTILS_BYTELEN(192), PH_CLUTILS_BYTELEN(192)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 192 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER_224() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER(PH_CLUTILS_BYTELEN(224), PH_CLUTILS_BYTELEN(224)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 224 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER_239() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER(PH_CLUTILS_BYTELEN(239), PH_CLUTILS_BYTELEN(239)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 239 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER_256() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER(PH_CLUTILS_BYTELEN(256), PH_CLUTILS_BYTELEN(256)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 256 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER_320() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER(PH_CLUTILS_BYTELEN(320), PH_CLUTILS_BYTELEN(320)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 320 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER_384() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER(PH_CLUTILS_BYTELEN(384), PH_CLUTILS_BYTELEN(384)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 384 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER_512() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER(PH_CLUTILS_BYTELEN(512), PH_CLUTILS_BYTELEN(512)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 512 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER_521() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER(PH_CLUTILS_BYTELEN(521), PH_CLUTILS_BYTELEN(521)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 521 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER_576() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER(PH_CLUTILS_BYTELEN(576), PH_CLUTILS_BYTELEN(576)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 576 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER_638() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER(PH_CLUTILS_BYTELEN(638), PH_CLUTILS_BYTELEN(638)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 638 */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER_640() PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_FAME_GEN_VER(PH_CLUTILS_BYTELEN(640), PH_CLUTILS_BYTELEN(640)) /**< \brief CalcPrecomputedPoints FAME3 workarea size for bit length up to 640 */
/************************************************************************************/
/** */
/** \brief Security counter invariant values for ECC APIs */
/** */
/************************************************************************************/
/** \brief Security counter invariant values */
#define PH_CLECCGFP_SECURITYCOUNTER_VAL_POINTADD (0x52d3U) /** PH_CLECCGFPINT_SECURITYCOUNTER_VALUE_001 */
#define PH_CLECCGFP_SECURITYCOUNTER_VAL_CALCPRECOMPUTEDPOINTS (0x076dU) /** PH_CLECCGFPINT_SECURITYCOUNTER_VALUE_002 */
#define PH_CLECCGFP_SECURITYCOUNTER_VAL_KEYGEN (0x23b5U) /** PH_CLECCGFPINT_SECURITYCOUNTER_VALUE_003 */
#define PH_CLECCGFP_SECURITYCOUNTER_VAL_POINTMULT (0x3974U) /** PH_CLECCGFPINT_SECURITYCOUNTER_VALUE_004 */
#define PH_CLECCGFP_SECURITYCOUNTER_VAL_SIGN (0x334eU) /** PH_CLECCGFPINT_SECURITYCOUNTER_VALUE_005 */
#define PH_CLECCGFP_SECURITYCOUNTER_VAL_VERIFY (0x3b46U) /** PH_CLECCGFPINT_SECURITYCOUNTER_VALUE_006 */
#define PH_CLECCGFP_SECURITYCOUNTER_VAL_VERIFYELLIPTICCURVEGFPPARAM (0x3b2aU) /** PH_CLECCGFPINT_SECURITYCOUNTER_VALUE_007 */
/************************************************************************************/
/** */
/** \brief Definition of parameter structures for ECC APIs */
/** */
/************************************************************************************/
/**
* \brief Structure for ECC domain parameter.
*/
typedef struct phClEccGfp_DomainParam_t
{
uint8_t DM32_MEMORY_TYPE *pA; /**< \brief Pointer to curve parameter a, element of GF(p) */
uint8_t DM32_MEMORY_TYPE *pB; /**< \brief Pointer to curve parameter b, element of GF(p) */
phCl_MPInt_t p; /**< \brief Prime of the underlying field p */
uint8_t DM32_MEMORY_TYPE *pG; /**< \brief Pointer to base point G */
phCl_MPInt_t n; /**< \brief Base point order n */
} phClEccGfp_DomainParam_t;
/**
* \brief Structure of parameters for function ::phClEccGfp_KeyGen
*/
typedef struct phClEccGfp_KeyGen_Param_t
{
phCl_WorkareaCPU_t *pWaCPU; /**< \brief Pointer to the CPU workarea of this function. It shall be CPU word aligned. */
phCl_WorkareaFAME_t *pWaFAME; /**< \brief Pointer to the FAME3 workarea of this function. It shall be FAME3 word aligned */
phClRng_Ctx_t *pRngCtx; /**< \brief Pointer to RNG context. The context has to be allocated and initialized by the caller. */
phClEccGfp_DomainParam_t domainParameters; /**< \brief ECC domain parameters. Every coordinate of the base point is imported via a call to the import function specified by pCallImportBigEndianParamSecureToCL.
All other parameters are imported via a call to the import function specified by pCallImportBigEndianParamToCL*/
phClUtils_call_ImportBigEndianParamToCL_t pCallImportBigEndianParamToCL; /**< \brief Pointer to pCallImportBigEndianParamToCL function, if null pointer is passed, standard import/export functions will be used */
phClUtils_call_ImportBigEndianParamSecureToCL_t pCallImportBigEndianParamSecureToCL; /**< \brief Pointer to pCallImportBigEndianParamSecureToCL function, if null pointer is passed, standard import/export functions will be used */
phClUtils_call_ExportBigEndianParamFromCL_t pCallExportBigEndianParamFromCL; /**< \brief Pointer to pCallExportBigEndianParamFromCL function, if null pointer is passed, standard import/export functions will be used */
phClUtils_call_ExportBigEndianParamSecureFromCL_t pCallExportBigEndianParamSecureFromCL; /**< \brief Pointer to pCallExportBigEndianParamSecureFromCL function, if null pointer is passed, standard import/export functions will be used */
uint8_t DM32_MEMORY_TYPE *pPrecomputedPoints; /**< \brief Pointer to coordinates of pre-computed points for KeyGen:
- x1,y1 if PH_CLECCGFP_PRECPOINTS_F2
- x1,y1,x2,y2,x3,y3,x32,y32 if PH_CLECCGFP_PRECPOINTS_F4.
Every coordinate is imported via a call to the import function specified by pCallImportBigEndianParamSecureToCL*/
uint8_t *pPrivateKey; /**< \brief Pointer to memory area where the private key will be stored.
The private key is exported via a call to the export function specified by pCallExportBigEndianParamSecureFromCL*/
uint8_t *pPublicKey; /**< \brief Pointer to memory area where the public key will be stored .
Every coordinate of the public key is exported via a call to the export function specified by pCallExportBigEndianParamFromCL*/
uint16_t options; /**< \brief Two bytes to pass further options for this function:
bits 0-1:
- 01 CRC shall be used
- 10 CRC shall not be used
bits 2-15: rfu */
uint16_t crc; /**< \brief CRC of parameter structure */
} phClEccGfp_KeyGen_Param_t;
/**
* \brief Structure of parameters for function ::phClEccGfp_Sign
*/
typedef struct phClEccGfp_Sign_Param_t
{
phCl_WorkareaCPU_t *pWaCPU; /**< \brief Pointer to the CPU workarea of this function. It shall be CPU word aligned */
phCl_WorkareaFAME_t *pWaFAME; /**< \brief Pointer to the FAME3 workarea of this function. It shall be FAME3 word aligned */
phClRng_Ctx_t *pRngCtx; /**< \brief Pointer to RNG context. The context has to be allocated and initialized by the caller */
phClEccGfp_DomainParam_t domainParameters; /**< \brief ECC domain parameters. Every coordinate of the base point is imported via a call to the import function specified by pCallImportBigEndianParamSecureToCL.
All other parameters are imported via a call to the import function specified by pCallImportBigEndianParamToCL*/
phClUtils_call_ImportBigEndianParamToCL_t pCallImportBigEndianParamToCL; /**< \brief Pointer to pCallImportBigEndianParamToCL function, if null pointer is passed, standard import/export functions will be used */
phClUtils_call_ImportBigEndianParamSecureToCL_t pCallImportBigEndianParamSecureToCL; /**< \brief Pointer to pCallImportBigEndianParamSecureToCL function, if null pointer is passed, standard import/export functions will be used */
phClUtils_call_ExportBigEndianParamFromCL_t pCallExportBigEndianParamFromCL; /**< \brief Pointer to pCallExportBigEndianParamFromCL function, if null pointer is passed, standard import/export functions will be used */
uint8_t DM32_MEMORY_TYPE *pPrecomputedPoints; /**< \brief Pointer to coordinates of pre-computed points for Sign:
- x1,y1 if PH_CLECCGFP_PRECPOINTS_F2
- x1,y1,x2,y2,x3,y3,x32,y32 if PH_CLECCGFP_PRECPOINTS_F4
Every coordinate is imported via a call to the import function specified by pCallImportBigEndianParamSecureToCL */
uint8_t DM32_MEMORY_TYPE *pDigest; /**< \brief Pointer to digest of the message.
The digest is imported via a call to the import function specified by pCallImportBigEndianParamToCL */
uint8_t DM32_MEMORY_TYPE *pPrivateKey; /**< \brief Pointer to private key.
The private key is imported via a call to the import function specified by pCallImportBigEndianParamSecureToCL */
uint8_t *pSignature_r; /**< \brief Pointer to memory area, where signature value r shall be stored; the size of the buffer must be greater that or equal to the byte length of the base point order n; r is an element of GF(n).
The signature part r is exported via a call to the export function specified by pCallExportBigEndianParamFromCL*/
uint8_t *pSignature_s; /**< \brief Pointer to memory area, where signature value s shall be stored; the size of the buffer must be greater that or equal to the byte length of the base point order n; s is an element of GF(n).
The signature part s is exported via a call to the export function specified by pCallExportBigEndianParamFromCL*/
uint16_t options; /**< \brief Two bytes to pass further options for this function:
bits 0-1:
- 01 CRC shall be used
- 10 CRC shall not be used
bits 2-15: rfu */
uint16_t crc; /**< \brief CRC of parameter structure */
} phClEccGfp_Sign_Param_t;
/**
* \brief Structure of parameters for function ::phClEccGfp_Verify
*/
typedef struct phClEccGfp_Verify_Param_t
{
phCl_WorkareaCPU_t *pWaCPU; /**< \brief Pointer to the CPU workarea of this function. It shall be CPU word aligned */
phCl_WorkareaFAME_t *pWaFAME; /**< \brief Pointer to the FAME3 workarea of this function. It shall be FAME3 word aligned */
phClRng_Ctx_t *pRngCtx; /**< \brief Pointer to RNG context. The context has to be allocated and initialized by the caller. */
phClEccGfp_DomainParam_t domainParameters; /**< \brief ECC domain parameters. Every parameter is imported via a call to the import function specified by pCallImportBigEndianParamToCL*/
phClUtils_call_ImportBigEndianParamToCL_t pCallImportBigEndianParamToCL; /**< \brief Pointer to pCallImportBigEndianParamToCL function, if null pointer is passed, standard import/export functions will be used */
uint8_t DM32_MEMORY_TYPE *pPrecomputedPoints; /**< \brief Pointer to coordinates of pre-computed points for Verify:
- u1,v1 if PH_CLECCGFP_PRECPOINTS_F2
- u1,v1,u2,v2,u3,v3 if PH_CLECCGFP_PRECPOINTS_F4.
Every coordinate is imported via a call to the import function specified by pCallImportBigEndianParamToCL*/
uint8_t DM32_MEMORY_TYPE *pPublicKey; /**< \brief Pointer to public key.
Every coordinate of the public key is imported via a call to the import function specified by pCallImportBigEndianParamToCL*/
uint8_t DM32_MEMORY_TYPE *pDigest; /**< \brief Pointer to digest to verify.
The digest is imported via a call to the import function specified by pCallImportBigEndianParamToCL*/
uint8_t DM32_MEMORY_TYPE *pSignature_r; /**< \brief Pointer to signature value r.
The signature part r is imported via a call to the import function specified by pCallImportBigEndianParamToCL*/
uint8_t DM32_MEMORY_TYPE *pSignature_s; /**< \brief Pointer to signature value s.
The signature part s is imported via a call to the import function specified by pCallImportBigEndianParamToCL*/
uint16_t options; /**< \brief Two bytes to pass further options for this function:
bits 0-1:
- 01 CRC shall be used
- 10 CRC shall not be used
bits 2-15: rfu */
uint16_t crc; /**< \brief CRC of parameter structure */
} phClEccGfp_Verify_Param_t;
/**
* \brief Structure of parameters for function ::phClEccGfp_PointMult
*/
typedef struct phClEccGfp_PointMult_Param_t
{
phCl_WorkareaCPU_t *pWaCPU; /**< \brief Pointer to the CPU workarea of this function. It shall be CPU word aligned */
phCl_WorkareaFAME_t *pWaFAME; /**< \brief Pointer to the FAME3 workarea of this function. It shall be FAME3 word aligned */
phClRng_Ctx_t *pRngCtx; /**< \brief Pointer to RNG context. The context has to be allocated and initialized by the caller. */
phClEccGfp_DomainParam_t domainParameters; /**< \brief ECC domain parameters. Every parameter is imported via a call to the import function specified by pCallImportBigEndianParamToCL*/
phClUtils_call_ImportBigEndianParamToCL_t pCallImportBigEndianParamToCL; /**< \brief Pointer to pCallImportBigEndianParamToCL function, if null pointer is passed, standard import/export functions will be used */
phClUtils_call_ImportBigEndianParamSecureToCL_t pCallImportBigEndianParamSecureToCL; /**< \brief Pointer to pCallImportBigEndianParamSecureToCL function, if null pointer is passed, standard import/export functions will be used */
phClUtils_call_ExportBigEndianParamSecureFromCL_t pCallExportBigEndianParamSecureFromCL; /**< \brief Pointer to pCallExportBigEndianParamSecureFromCL function, if null pointer is passed, standard import/export functions will be used */
uint8_t DM32_MEMORY_TYPE *pPrecomputedPoints; /**< \brief Pointer to coordinates of pre-computed points if bits 2-3 of options are 01:
- x1,y1 if PH_CLECCGFP_PRECPOINTS_F2
- x1,y1,x2,y2,x3,y3,x32,y32 if PH_CLECCGFP_PRECPOINTS_F4.
Every coordinate is imported via a call to the import function specified by pCallImportBigEndianParamSecureToCL*/
uint8_t DM32_MEMORY_TYPE *pScalar; /**< \brief Pointer to scalar k.
The scalar is imported via a call to the import function specified by pCallImportBigEndianParamSecureToCL */
uint8_t DM32_MEMORY_TYPE *pPoint; /**< \brief Pointer to point P.
Every coordinate of the point is imported via a call to the import function specified by pCallImportBigEndianParamSecureToCL*/
uint8_t *pResult; /**< \brief Pointer to memory area to store coordinates of k*P.
Every coordinate of the result is exported via a call to the export function specified by pCallExportBigEndianParamSecureFromCL*/
uint16_t options; /**< \brief Two bytes to pass further options for this function:
bits 0-1:
- 01 CRC shall be used
- 10 CRC shall not be used
bits 2-3:
- 01 input pre-computed points shall be used
- 10 pre-computed point are calculated by this function
bits 4-15: rfu */
uint16_t crc; /**< \brief CRC of parameter structure */
} phClEccGfp_PointMult_Param_t;
/**
* \brief Structure of parameters for function ::phClEccGfp_PointAdd
*/
typedef struct phClEccGfp_PointAdd_Param_t
{
phCl_WorkareaCPU_t *pWaCPU; /**< \brief Pointer to the CPU workarea of this function. It shall be CPU word aligned */
phCl_WorkareaFAME_t *pWaFAME; /**< \brief Pointer to the FAME3 workarea of this function. It shall be FAME3 word aligned */
phClRng_Ctx_t *pRngCtx; /**< \brief Pointer to RNG context. The context has to be allocated and initialized by the caller. */
phClEccGfp_DomainParam_t domainParameters; /**< \brief ECC domain parameters. Every parameter is imported via a call to the import function specified by pCallImportBigEndianParamToCL*/
phClUtils_call_ImportBigEndianParamToCL_t pCallImportBigEndianParamToCL; /**< \brief Pointer to pCallImportBigEndianParamToCL function, if null pointer is passed, standard import/export functions will be used */
phClUtils_call_ImportBigEndianParamSecureToCL_t pCallImportBigEndianParamSecureToCL; /**< \brief Pointer to pCallImportBigEndianParamSecureToCL function, if null pointer is passed, standard import/export functions will be used */
phClUtils_call_ExportBigEndianParamSecureFromCL_t pCallExportBigEndianParamSecureFromCL; /**< \brief Pointer to pCallExportBigEndianParamSecureFromCL function, if null pointer is passed, standard import/export functions will be used */
uint8_t DM32_MEMORY_TYPE *pPointP; /**< \brief Pointer to EC point P.
Every coordinate of the point P is imported via a call to the import function specified by pCallImportBigEndianParamSecureToCL*/
uint8_t DM32_MEMORY_TYPE *pPointQ; /**< \brief Pointer to EC point Q.
Every coordinate of the point Q is imported via a call to the import function specified by pCallImportBigEndianParamSecureToCL*/
uint8_t *pResult; /**< \brief Pointer to the resulting point R = P +/- Q depending on bits 2-3 of options.
Every coordinate of the result is exported via a call to the export function specified by pCallExportBigEndianParamSecureFromCL*/
uint16_t options; /**< \brief Two bytes to pass further options for this function:
bits 0-1:
- 01 CRC shall be used
- 10 CRC shall not be used
bits 2-3:
- 01 Addition P + Q is performed
- 10 Subtraction P - Q is performed
bits 4-15: rfu */
uint16_t crc; /**< \brief CRC of parameter structure */
} phClEccGfp_PointAdd_Param_t;
/**
* \brief Structure of parameters for function ::phClEccGfp_VerifyCurveParam
*/
typedef struct phClEccGfp_VerifyCurveParamGfp_Param_t
{
phCl_WorkareaCPU_t *pWaCPU; /**< \brief Pointer to the CPU workarea of this function. It shall be CPU word aligned */
phCl_WorkareaFAME_t *pWaFAME; /**< \brief Pointer to the FAME3 workarea of this function. It shall be FAME3 word aligned */
phClRng_Ctx_t *pRngCtx; /**< \brief Pointer to RNG context. The context has to be allocated and initialized by the caller */
phClEccGfp_DomainParam_t domainParameters; /**< \brief ECC domain parameters. Every parameter is imported via a call to the import function specified by pCallImportBigEndianParamToCL*/
phClUtils_call_ImportBigEndianParamToCL_t pCallImportBigEndianParamToCL; /**< \brief Pointer to pCallImportBigEndianParamToCL function, if null pointer is passed, standard import/export functions will be used */
uint16_t options; /**< \brief Two bytes to pass further options for this function:
bits 0-1:
- 01 CRC shall be used
- 10 CRC shall not be used
bits 2-15: rfu */
uint16_t crc; /**< \brief CRC of parameter structure */
} phClEccGfp_VerifyCurveParamGfp_Param_t;
/**
* \brief Structure of parameters for function ::phClEccGfp_CalcPrecomputedPoints
*/
typedef struct phClEccGfp_CalcPrecomputedPoints_Param_t
{
phCl_WorkareaCPU_t *pWaCPU; /**< \brief Pointer to the CPU workarea of this function. It shall be CPU word aligned */
phCl_WorkareaFAME_t *pWaFAME; /**< \brief Pointer to the FAME3 workarea of this function. It shall be FAME3 word aligned */
phClRng_Ctx_t *pRngCtx; /**< \brief Pointer to RNG context. The context has to be allocated and initialized by the caller. */
phClEccGfp_DomainParam_t domainParameters; /**< \brief ECC domain parameters. Every parameter is imported via a call to the import function specified by pCallImportBigEndianParamToCL*/
phClUtils_call_ImportBigEndianParamToCL_t pCallImportBigEndianParamToCL; /**< \brief Pointer to pCallImportBigEndianParamToCL function, if null pointer is passed, standard import/export functions will be used */
phClUtils_call_ImportBigEndianParamSecureToCL_t pCallImportBigEndianParamSecureToCL; /**< \brief Pointer to pCallImportBigEndianParamSecureToCL function, if null pointer is passed, standard import/export functions will be used */
phClUtils_call_ExportBigEndianParamSecureFromCL_t pCallExportBigEndianParamSecureFromCL; /**< \brief Pointer to pCallExportBigEndianParamSecureFromCL function, if null pointer is passed, standard import/export functions will be used */
uint8_t DM32_MEMORY_TYPE *pPoint; /**< \brief Point to generate the pre-computed points for.
Every coordinate is imported via a call to the import function specified by pCallImportBigEndianParamSecureToCL*/
uint8_t *pPrecomputedPointsGeneration; /**< \brief Pointer to memory area, where coordinates of pre-computed base points for ECDSA Key and Signature Generation shall be stored,
if bit 10 of options is set:
- x1,y1 if PH_CLECCGFP_PRECPOINTS_F2
- x1,y1,x2,y2,x3,y3,x32,y32 if PH_CLECCGFP_PRECPOINTS_F4.
Every coordinate is exported via a call to the export function specified by pCallExportBigEndianParamSecureFromCL*/
uint8_t *pPrecomputedPointsVerification; /**< \brief Pointer to memory area, where coordinates of pre-computed points for ECDSA Signature Verification shall be stored,
if bit 11 of options is set:
- x1,y1 if PH_CLECCGFP_PRECPOINTS_F2
- x1,y1,x2,y2,x3,y3 if PH_CLECCGFP_PRECPOINTS_F4.
Every coordinate is exported via a call to the export function specified by pCallExportBigEndianParamSecureFromCL*/
uint16_t options; /**< \brief Two bytes to pass further options for this function:
bits 0-1:
- 01 CRC shall be used
- 10 CRC shall not be used
bits 10-11:
- 01 one or four pre-computed points shall be computed for the ECDSA Key and Signature Generation
- 10 one or three pre-computed points shall be computed for the ECDSA Verification
- 11 one or four pre-computed points shall be computed for the ECDSA Key and Signature Generation,
and one or three pre-computed points shall be computed for the ECDSA Signature Verification
bits 2-9 and 12-15: rfu */
uint16_t crc; /**< \brief CRC of parameter structure */
} phClEccGfp_CalcPrecomputedPoints_Param_t;
/************************************************************************************/
/** */
/** \brief Masks to set options in for the ECC parameter structures */
/** */
/************************************************************************************/
/** \brief Option value related to the use of CRC */
#define PH_CLECCGFP_OPT_USE_CRC (0x0001) /**< \brief Value of bits 0-1 from the 16-bit options */
#define PH_CLECCGFP_OPT_NOT_USE_CRC (0x0002) /**< \brief Value of bits 0-1 from the 16-bit options */
/** \brief Option for purpose of pre-computed points generated by phClEccGfp_CalcPrecomputedPoints */
#define PH_CLECCGFP_OPT_PRECPOINTS_GEN (0x0400) /**< \brief Calculation of pre-computed points for ECDSA Signature Generation, EC Key Generation and EC Point Multiplication */
#define PH_CLECCGFP_OPT_PRECPOINTS_VER (0x0800) /**< \brief Calculation of pre-computed points for ECDSA Signature Verification */
#define PH_CLECCGFP_OPT_PRECPOINTS_GEN_VER (PH_CLECCGFP_OPT_PRECPOINTS_GEN | PH_CLECCGFP_OPT_PRECPOINTS_VER) /**< \brief Calculation of pre-computed points for ECDSA Signature Generation, EC Key Generation, EC Point Multiplication and ECDSA Signature Verification*/
/** \brief Option value for the usage of pre-computed points in phClEccGfp_PointMult: computation or import */
#define PH_CLECCGFP_OPT_POINTMULT_TYPEPP_IMPORT (0x0004) /**< \brief Import pre-computed points */
#define PH_CLECCGFP_OPT_POINTMULT_TYPEPP_CALCULATE (0x0008) /**< \brief Calculate pre-computed points */
/** \brief Option value determining whether phClEccGfp_PointAdd shall perform point addition or subtraction */
#define PH_CLECCGFP_OPT_POINTADD_ADD (0x0004) /**< \brief Point addition P+Q is performed */
#define PH_CLECCGFP_OPT_POINTADD_SUB (0x0008) /**< \brief Point subtraction P-Q is performed */
/************************************************************************************/
/** */
/** \brief Offsets and masks to extract options from input parameter structures */
/** */
/************************************************************************************/
/** \brief Offset and mask to extract bits from the 16-bit options containing information about whether or not the CRC shall be used */
#define PH_CLECCGFP_OPT_CRC_OFFSET (0) /**< Offset to extract bits 1-0 from the 16-bit options */
#define PH_CLECCGFP_OPT_CRC_MASK (PH_CLECCGFP_OPT_USE_CRC | PH_CLECCGFP_OPT_NOT_USE_CRC)
/** \brief Offset of bits from the 16-bit options containing information about whether to import or generate pre-computed points for phClEccGfp_PointMult */
#define PH_CLECCGFP_OPT_POINTMULT_TYPEPP_OFFSET (2)
#define PH_CLECCGFP_OPT_POINTMULT_TYPEPP_MASK (PH_CLECCGFP_OPT_POINTMULT_TYPEPP_IMPORT | PH_CLECCGFP_OPT_POINTMULT_TYPEPP_CALCULATE)
/** \brief Offset of bits from the 16-bit options containing information about the type of the pre-computed points to generate */
#define PH_CLECCGFP_OPT_PRECPOINTS_TYPE_OFFSET (10)
#define PH_CLECCGFP_OPT_PRECPOINTS_TYPE_MASK (PH_CLECCGFP_OPT_PRECPOINTS_GEN_VER)
/** \brief Offset of bits from the 16-bit options containing information about whether phClEccGfp_PointAdd shall perform point addition or subtraction */
#define PH_CLECCGFP_OPT_POINTADD_ADDORSUB_OFFSET (2)
#define PH_CLECCGFP_OPT_POINTADD_ADDORSUB_MASK (PH_CLECCGFP_OPT_POINTADD_ADD | PH_CLECCGFP_OPT_POINTADD_SUB)
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PHCLECCGFP_COMMONTYPEDEFS_H_ */
@@ -0,0 +1,56 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClEccGfp_Config.h
* @brief: Configuration for the crypto library EccGfp component
*
*/
#ifndef __PHCLECCGFP_CONFIG_H_
#define __PHCLECCGFP_CONFIG_H_
/******************************************************************************/
/* Precomputed points definitions */
/******************************************************************************/
/** \brief Precomputed points configuration definitions */
#define PH_CLECCGFP_PRECPOINTS_F2 (1)
#define PH_CLECCGFP_PRECPOINTS_F4 (0)
/** \brief Macros to define the number of used buffers */
#define PH_CLECCGFP_SIGN_NO_OF_BUFFERS (20)
#define PH_CLECCGFP_VERIFY_NO_OF_BUFFERS (19)
#define PH_CLECCGFP_KEYGEN_NO_OF_BUFFERS (20)
#define PH_CLECCGFP_POINTMULT_NO_OF_BUFFERS (20)
#define PH_CLECCGFP_CALCPRECPOINTS_NO_OF_BUFFERS_GEN (13)
#define PH_CLECCGFP_CALCPRECPOINTS_NO_OF_BUFFERS_VER (13)
#define PH_CLECCGFP_CALCPRECPOINTS_NO_OF_BUFFERS_GEN_VER (15)
/**
* \brief Macros to determine the size of the buffer for pre-computed points
* - GEN for usage in ECC Key Generation, ECDSA Signature Generation, Point Multiplication (only required for option IMPORT) and Pre-computed Points Calculation with option GEN
* - VER for usage in ECDSA Signature Verification and Pre-computed Points Calculation with option VER
* - GEN_VER for usage in Pre-computed Points Calculation with option GEN_VER
*/
#define PH_CLECCGFP_PRECPOINTS_BUFFER_SIZE_GEN(pLen) (2 * pLen * 1)
#define PH_CLECCGFP_PRECPOINTS_BUFFER_SIZE_VER(pLen) (2 * pLen * 1)
#define PH_CLECCGFP_PRECPOINTS_BUFFER_SIZE_GEN_VER(pLen) (2 * pLen * 2)
#endif /* __PHCLECCGFP_CONFIG_H_ */
@@ -0,0 +1,147 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017,2020 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClEccGfp_FunctionDefs.h
* @brief: Function definitions of the crypto library Ecc component
*
*/
#ifndef __PHCLECCGFP_FUNCTIONDEFS_H_
#define __PHCLECCGFP_FUNCTIONDEFS_H_
#ifndef __PHCLECCGFP_TYPES_DEFINED_
#error Do not include this header directly
#endif
#ifdef __cplusplus
extern "C"
{
#endif
/**
* \brief This function implements the ECC GF(p) key generation.
*
* \returns Status of the operation
*
* \retval ::PH_ERR_CLECCGFP_KEYGEN_OK Key generation was successful
* \retval ::PH_ERR_CLECCGFP_FAULT_ATTACK Fault attack detected
*/
phClEccGfp_Err_t phClEccGfp_KeyGen(
phClEccGfp_KeyGen_Param_t *pParams /**< \brief Pointer to parameter struct */
) PH_CL_SHORTCALL_ATTRIBUTE;
/**
* \brief This function implements the ECC GF(p) ECDSA signature generation.
*
* \returns Status of the operation
*
* \retval ::PH_ERR_CLECCGFP_SIGN_OK Signature generation was successful
* \retval ::PH_ERR_CLECCGFP_SIGN_NOT_OK Signature generation failed
* \retval ::PH_ERR_CLECCGFP_FAULT_ATTACK Fault attack detected
*/
phClEccGfp_Err_t phClEccGfp_Sign(
phClEccGfp_Sign_Param_t *pParams /**< \brief Pointer to parameter struct */
) PH_CL_SHORTCALL_ATTRIBUTE;
/**
* \brief This function implements the ECC GF(p) ECDSA signature verification.
*
* \returns Status of the operation
*
* \retval ::PH_ERR_CLECCGFP_VERIFY_OK Signature is accepted
* \retval ::PH_ERR_CLECCGFP_VERIFY_NOT_OK Signature is rejected
* \retval ::PH_ERR_CLECCGFP_VERIFY_INVALID_PARAMS Invalid input parameters
* \retval ::PH_ERR_CLECCGFP_FAULT_ATTACK Fault attack detected
*/
phClEccGfp_Err_t phClEccGfp_Verify(
phClEccGfp_Verify_Param_t *pParams /**< \brief Pointer to parameter struct */
) PH_CL_SHORTCALL_ATTRIBUTE;
/**
* \brief This function implements the ECC GF(p) point mutliplication
*
* \returns Status of the operation
*
* \retval ::PH_ERR_CLECCGFP_POINTMULT_OK Point multiplication was successful
* \retval ::PH_ERR_CLECCGFP_POINTMULT_NEUTRAL_POINT Scalar is zero modulo n
* \retval ::PH_ERR_CLECCGFP_POINTMULT_INVALID_PARAMS Input parameters are invalid
* \retval ::PH_ERR_CLECCGFP_FAULT_ATTACK Fault attack detected
*/
phClEccGfp_Err_t phClEccGfp_PointMult(
phClEccGfp_PointMult_Param_t *pParams /**< \brief Pointer to parameter struct */
) PH_CL_SHORTCALL_ATTRIBUTE;
/**
* \brief This function implements the ECC GF(p) point addition and subtraction
*
* \returns Status of the operation
*
* \retval ::PH_ERR_CLECCGFP_POINTADD_OK Point addition was successful
* \retval ::PH_ERR_CLECCGFP_POINTADD_NEUTRAL_POINT The input points are inverse to each other for addition and identical for subtraction
* \retval ::PH_ERR_CLECCGFP_POINTADD_INVALID_PARAMS Input parameters are invalid
* \retval ::PH_ERR_CLECCGFP_FAULT_ATTACK Fault attack detected
*/
phClEccGfp_Err_t phClEccGfp_PointAdd(
phClEccGfp_PointAdd_Param_t *pParams /**< \brief Pointer to parameter struct */
) PH_CL_SHORTCALL_ATTRIBUTE;
/**
* \brief This function implements the ECC GF(p) curve parameter verification.
*
* \returns Status of the operation
*
* \retval ::PH_ERR_CLECCGFP_VERIFYECPARAM_OK Domain parameters are valid
* \retval ::PH_ERR_CLECCGFP_VERIFYECPARAM_NOT_OK Domain parameters are invalid
* \retval ::PH_ERR_CLECCGFP_FAULT_ATTACK Fault attack detected
*/
phClEccGfp_Err_t phClEccGfp_VerifyEllipticCurveGfpParam(
phClEccGfp_VerifyCurveParamGfp_Param_t *pParams /**< \brief Pointer to parameter struct */
) PH_CL_SHORTCALL_ATTRIBUTE;
/**
* \brief This function calculates the precompted points
*
* \returns Status of the operation
*
* \retval ::PH_ERR_CLECCGFP_CALCPRECPOINTS_OK Pre-computation was successful
* \retval ::PH_ERR_CLECCGFP_CALCPRECPOINTS_INVALID_PARAMS The input parameters are invalid
* \retval ::PH_ERR_CLECCGFP_FAULT_ATTACK Fault attack detected
*/
phClEccGfp_Err_t phClEccGfp_CalcPrecomputedPoints(
phClEccGfp_CalcPrecomputedPoints_Param_t *pParams /**< \brief Pointer to parameter struct */
) PH_CL_SHORTCALL_ATTRIBUTE;
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PHCLECCGFP_FUNCTIONDEFS_H_ */
@@ -0,0 +1,61 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClEccGfp_PlatformConstDefs.h
* @brief: Platform related definitions of the crypto library Ecc component
*
*/
#ifndef __PHCLECCGFP_PLATFORMCONSTDEFS_H_
#define __PHCLECCGFP_PLATFORMCONSTDEFS_H_
#ifdef __cplusplus
extern "C"
{
#endif
/************************************************************************************/
/** \brief Definition of CPU workarea sizes in bytes for ECC API functions */
/************************************************************************************/
#define PH_CLECCGFP_KEYGEN_SIZEOF_WA_CPU (74) /** \brief Definition of CPU workarea size for EC Key Generation */
#define PH_CLECCGFP_SIGN_SIZEOF_WA_CPU (74) /** \brief Definition of CPU workarea size for ECDSA Signature Generation */
#define PH_CLECCGFP_VERIFY_SIZEOF_WA_CPU (20) /** \brief Definition of CPU workarea size for ECDSA Signature Verification */
#define PH_CLECCGFP_POINTMULT_SIZEOF_WA_CPU (74) /** \brief Definition of CPU workarea size for EC Point Multiplication */
#define PH_CLECCGFP_POINTADD_SIZEOF_WA_CPU (20) /** \brief Definition of CPU workarea size for EC Point Addition */
#define PH_CLECCGFP_CALCPRECPOINTS_SIZEOF_WA_CPU (20) /** \brief Definition of CPU workarea size for EC Calculation of Pre-computed Points */
#define PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_CPU (20) /** \brief Definition of CPU workarea size for EC Domain Parameter Verification */
/************************************************************************************/
/** \brief Definition for FAME */
/************************************************************************************/
/** \brief The FAME UPTRT is located in FAME workarea */
#define PH_CLECCGFP_SIZEOF_PTRT_IN_CPUWA(tableLength) (0)
#define PH_CLECCGFP_SIZEOF_PTRT_IN_FAMEWA(tableLength) (tableLength)
/** \brief Definition of offset for aligning address ptr_x0 on cache word size */
#define PH_CLECCGFP_FAME_OFFSET_FOR_CACHE (6)
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PHCLECCGFP_PLATFORMCONSTDEFS_H_ */
@@ -0,0 +1,35 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017,2020 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClEccGfp_StackUsage.h
* @brief: Definition of stack usage in bytes for ECC API functions
*
*/
#ifndef PHCLECCGFP_STACKUSAGE_H_
#define PHCLECCGFP_STACKUSAGE_H_
#define PH_CLECCGFP_CALCPP_SIZEOF_WA_STACK (0x94) /** \brief Definition of stack size for EC Calculation of Pre-computed Points */
#define PH_CLECCGFP_KEYGEN_SIZEOF_WA_STACK (0x11E) /** \brief Definition of stack size for EC Key Generation */
#define PH_CLECCGFP_POINTADD_SIZEOF_WA_STACK (0x82) /** \brief Definition of stack size for EC Point Addition */
#define PH_CLECCGFP_POINTMULT_SIZEOF_WA_STACK (0x112) /** \brief Definition of stack size for EC Point Multiplication */
#define PH_CLECCGFP_SIGN_SIZEOF_WA_STACK (0x116) /** \brief Definition of stack size for ECDSA Signature Generation */
#define PH_CLECCGFP_VERIFY_SIZEOF_WA_STACK (0xBA) /** \brief Definition of stack size for ECDSA Signature Verification */
#define PH_CLECCGFP_VERIFYECPARAM_SIZEOF_WA_STACK (0x62) /** \brief Definition of stack size for EC Domain Parameter Verification */
#endif /* PHCLECCGFP_STACKUSAGE_H_ */
@@ -0,0 +1,45 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClEccGfp_TypeDefs.h
* @brief: Type definitions of the crypto library Ecc component
*
*/
#ifndef __PHCLECCGFP_TYPEDEFS_H_
#define __PHCLECCGFP_TYPEDEFS_H_
#include <phCl_TypeDefs.h>
#define __PHCLECCGFP_TYPES_DEFINED_
#include <phClEccGfp_CommonTypeDefs.h>
#ifdef __cplusplus
extern "C"
{
#endif
//This part is intentionally empty
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __INC_PHCLECCGFP_TYPEDEFS_H_ */
@@ -0,0 +1,30 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016-2017, 2020-2021 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClEccGfp_Version.h
* @brief: Version information of the Crypto Library ECC component
*
*/
#ifndef __PH_CLECCGFP_VERSION_H_
#define __PH_CLECCGFP_VERSION_H_
#define PH_CLECCGFP_VERSION_MAJOR 0x07
#define PH_CLECCGFP_VERSION_MINOR 0x01
#define PH_CLECCGFP_VERSION_PATCH 0x02
#endif /* __PH_CLECCGFP_VERSION_H_ */
@@ -0,0 +1,29 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClHash.h
* @brief: Interface of the Crypto Library Hash component
*
*/
#ifndef __PH_CLHASH_H_
#define __PH_CLHASH_H_
#include <phClHash_TypeDefs.h>
#include <phClHash_FunctionDefs.h>
#endif /* __PH_CLHASH_H_ */
@@ -1,16 +1,17 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017,2020 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
@@ -38,9 +39,6 @@ extern "C"
* Definitions
*******************************************************************************************************************************/
/** \brief API version definition */
#define PH_CLHASH_API_VERSION ( 7 ) /**< \brief API version */
/** \brief Security Counter values */
#define PH_CLHASH_SECURITYCOUNTER_VAL_HASH ( 0x5476U ) /**< \brief Security Counter value for the function phClHash_Hash() */
@@ -48,11 +46,11 @@ extern "C"
#define PH_CLHASH_HASH_SIZE_SHA1 ( 20 ) /**< \brief hash value size for SHA-1 */
#define PH_CLHASH_HASH_SIZE_SHA2_224 ( 28 ) /**< \brief hash value size for SHA2-224 */
#define PH_CLHASH_HASH_SIZE_SHA2_256 ( 32 ) /**< \brief hash value size for SHA2-256 */
#define PH_CLHASH_HASH_SIZE_SHA2_384 ( 48 ) /**< \brief hash value size for SHA2-284 */
#define PH_CLHASH_HASH_SIZE_SHA2_384 ( 48 ) /**< \brief hash value size for SHA2-384 */
#define PH_CLHASH_HASH_SIZE_SHA2_512 ( 64 ) /**< \brief hash value size for SHA2-512 */
#define PH_CLHASH_HASH_SIZE_SHA3_224 ( 28 ) /**< \brief hash value size for SHA3-224 */
#define PH_CLHASH_HASH_SIZE_SHA3_256 ( 32 ) /**< \brief hash value size for SHA3-256 */
#define PH_CLHASH_HASH_SIZE_SHA3_384 ( 48 ) /**< \brief hash value size for SHA3-284 */
#define PH_CLHASH_HASH_SIZE_SHA3_384 ( 48 ) /**< \brief hash value size for SHA3-384 */
#define PH_CLHASH_HASH_SIZE_SHA3_512 ( 64 ) /**< \brief hash value size for SHA3-512 */
#define PH_CLHASH_HASH_SIZE_SM3 ( 32 ) /**< \brief hash value size for OSCCA SM3 */
#define PH_CLHASH_HASH_SIZE_MAX ( 64 ) /**< \brief Maximum size of the hash value */
@@ -61,11 +59,11 @@ extern "C"
#define PH_CLHASH_COUNTER_SIZE_SHA1 ( 8 ) /**< \brief Size of the internal counter of the hash algortihm for SHA-1 */
#define PH_CLHASH_COUNTER_SIZE_SHA2_224 ( 8 ) /**< \brief Size of the internal counter of the hash algortihm for SHA2-224 */
#define PH_CLHASH_COUNTER_SIZE_SHA2_256 ( 8 ) /**< \brief Size of the internal counter of the hash algortihm for SHA2-256 */
#define PH_CLHASH_COUNTER_SIZE_SHA2_384 ( 16 ) /**< \brief Size of the internal counter of the hash algortihm for SHA2-284 */
#define PH_CLHASH_COUNTER_SIZE_SHA2_384 ( 16 ) /**< \brief Size of the internal counter of the hash algortihm for SHA2-384 */
#define PH_CLHASH_COUNTER_SIZE_SHA2_512 ( 16 ) /**< \brief Size of the internal counter of the hash algortihm for SHA2-512 */
#define PH_CLHASH_COUNTER_SIZE_SHA3_224 ( 4 ) /**< \brief Size of the internal counter of the hash algortihm for SHA3-224 */
#define PH_CLHASH_COUNTER_SIZE_SHA3_256 ( 4 ) /**< \brief Size of the internal counter of the hash algortihm for SHA3-256 */
#define PH_CLHASH_COUNTER_SIZE_SHA3_384 ( 4 ) /**< \brief Size of the internal counter of the hash algortihm for SHA3-284 */
#define PH_CLHASH_COUNTER_SIZE_SHA3_384 ( 4 ) /**< \brief Size of the internal counter of the hash algortihm for SHA3-384 */
#define PH_CLHASH_COUNTER_SIZE_SHA3_512 ( 4 ) /**< \brief Size of the internal counter of the hash algortihm for SHA3-512 */
#define PH_CLHASH_COUNTER_SIZE_SM3 ( 8 ) /**< \brief Size of the internal counter of the hash algortihm for OSCCA SM3 */
#define PH_CLHASH_COUNTER_SIZE_MAX ( 16 ) /**< \brief Maximum size of the internal counter of the hash algortihm */
@@ -106,7 +104,7 @@ typedef enum phClHash_Err_t
PH_ERR_CLHASH_IMPORTEXPORT_OK = ( 0x66C6U ), /**< \brief State import/export successful */
PH_ERR_CLHASH_HASH_UPDATE_FAILURE = ( 0x991EU ), /**< \brief XOF: cannot update in extraction phase */
PH_ERR_CLHASH_HASH_FULL = ( 0x992DU ), /**< \brief Hash: Maximum message length reached */
PH_ERR_CLHASH_HASH_FULL = ( 0x992DU ), /**< \brief Reached maximum message length that can be processed by underlying hash algorithm */
PH_ERR_CLHASH_EXTRACT_DIGEST_FAILURE = ( 0x994BU ), /**< \brief Extraction of partial digest failed due to incomplete partial hash */
PH_ERR_CLHASH_CONVERT_FAILURE = ( 0x9978U ), /**< \brief Conversion of context failed - different algorithm */
PH_ERR_CLHASH_IMPORTEXPORT_FAILURE = ( 0x9987U ), /**< \brief Export failed due to incomplete partial hash */
@@ -126,7 +124,6 @@ typedef union
{
phClUtils_call_ImportBigEndianParamSecureToCL_t pCallImportBigEndianParamSecureToCL; /**< \brief Pointer to pCallImportBigEndianParamSecureToCL function, if null pointer is passed, standard import/export functions will be used */
phClUtils_call_ImportParamSecureToCL_t pCallImportParamSecureToCL; /**< \brief Pointer to pCallImportParamSecureToCL function, if null pointer is passed, standard import/export functions will be used */
phClUtils_call_ImportParamSecureToCL_t pCallImportDMA; /**< \brief Pointer to pCallImportDMA function. Pointer is just supported by Kinetis and Helios */
} phClHash_call_ImportParamSecureToCL_t;
typedef union
@@ -138,10 +135,10 @@ typedef union
/**
* \brief Structure of parameters for hash function
*
* Not all fields in the parameters structure need to be filled for all operation as explained
* Not all fields in the parameters structure need to be filled for all operations as explained
* by the table below. All unused fields are ignored.
*
* Note: The fields are logically grouped together, but in the structure uses a different ordering
* Note: The fields are logically grouped together, but the structure uses a different ordering
* for alignment
*
* + --------------------+-----------+-----------+-----------+-----------+-----------+
@@ -1,16 +1,17 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017,2020 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
@@ -34,7 +35,7 @@
* \returns Status of operation.
* \retval ::PH_ERR_CLHASH_HASH_CALC_OK Hash operation finished successfully
* \retval ::PH_ERR_CLHASH_HASH_UPDATE_FAILURE Cannot update XOF in extraction phase
* \retval ::PH_ERR_CLHASH_HASH_FULL Hash: Maximum message length reached
* \retval ::PH_ERR_CLHASH_HASH_FULL Reached maximum message length that can be processed by underlying hash algorithm
* \retval ::PH_ERR_CLHASH_FAULT_ATTACK Possible attack detected
*
*/
@@ -1,16 +1,17 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
@@ -0,0 +1,30 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017,2020 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClHash_Version.h
* @brief: Version information of the Crypto Library Hash component
*
*/
#ifndef __PH_CLHASH_VERSION_H_
#define __PH_CLHASH_VERSION_H_
#define PH_CLHASH_VERSION_MAJOR 0x03
#define PH_CLHASH_VERSION_MINOR 0x00
#define PH_CLHASH_VERSION_PATCH 0x00
#endif /* __PH_CLHASH_VERSION_H_ */
@@ -1,20 +1,21 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClKeyStoreMgr_JumpTable.h
* @file: phClKeyStoreMgr.h
* @brief: Interface of the crypto library KeyStoreMgr component
*
*/
@@ -1,16 +1,17 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/*
* phClKeyStoreMgr_CommonTypeDefs.h
@@ -31,10 +32,10 @@
#include <phClKeyStoreMgr_PlatformTypeDefs.h>
/** \brief Definition of workarea sizes (in bytes) for the KeyStoreMgr */
#define PH_CLKEYSTOREMGR_CPU_WA ( 32 ) /**< \brief Maximum size of CPU workarea */
#define PH_CLKEYSTOREMGR_CPU_WA ( 68 ) /**< \brief Maximum size of CPU workarea */
/** \brief Definition of context sizes (in bytes) for the KeyStoreMgr */
#define PH_CLKEYSTOREMGR_CTX_SIZE (32)
#define PH_CLKEYSTOREMGR_CTX_SIZE (48)
/** \brief Definition of context for the KeyStoreMgr */
typedef struct phClKeyStoreMgr_Ctx_t phClKeyStoreMgr_Ctx_t;
@@ -216,7 +217,7 @@ typedef struct phClKeyStoreMgr_GetKeyBufferSize_Param_t
*
* \retval error code of type phClKeyStoreMgr_Err_t
*/
#define PH_CLKEYSTOREMGR_GET_ERROR_CODE(phClKeyStoreMgrGetKeyBufferSizeResult) ((phClKeyStoreMgr_Err_t)(phClKeyStoreMgrGetKeyBufferSizeResult & 0xFFFF))
#define PH_CLKEYSTOREMGR_GET_ERROR_CODE(phClKeyStoreMgrGetKeyBufferSizeResult) ((phClKeyStoreMgr_Err_t)((phClKeyStoreMgrGetKeyBufferSizeResult) & 0xFFFF))
/**
* \brief This macro gets number of bytes returned by phClKeyStoreMgr_GetKeyBufferSize function.
@@ -226,7 +227,7 @@ typedef struct phClKeyStoreMgr_GetKeyBufferSize_Param_t
*
* \retval 16-bit number of bytes
*/
#define PH_CLKEYSTOREMGR_GET_BUFFER_SIZE(phClKeyStoreMgrGetKeyBufferSizeResult) ((uint16_t)(phClKeyStoreMgrGetKeyBufferSizeResult >> 16))
#define PH_CLKEYSTOREMGR_GET_BUFFER_SIZE(phClKeyStoreMgrGetKeyBufferSizeResult) ((uint16_t)((phClKeyStoreMgrGetKeyBufferSizeResult) >> 16))
@@ -1,16 +1,17 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
@@ -1,16 +1,17 @@
/*----------------------------------------------------------------------------*/
/* Copyright(C) NXP N.V. 2016, 2017 */
/* */
/* All rights are reserved. Reproduction in whole or in part is prohibited */
/* without the prior written consent of the copy-right owner. */
/* This source code and any compilation or derivative thereof is the sole */
/* property of NXP N.V. and is provided pursuant to a Software License */
/* Agreement. This code is the proprietary information of NXP N.V. and */
/* is confidential in nature. Its use and dissemination by any party other */
/* than NXP N.V. is strictly limited by the confidential information */
/* provisions of the agreement referenced above. */
/* */
/*----------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/*
* phClKeyStoreMgr_PlatformTypeDefs.h
@@ -43,7 +44,7 @@
/** bit 26-16: SECCTRL settings, range additional dummy cycles from [0:1023] */
#define PH_CLKEYSTOREMGR_SEC_OPT_SECCTRL_HW_ADDITIONAL_DUMMY_CYCLES(cycles) ( (( uint32_t ) (cycles & 0x3FF) << PH_CLKEYSTOREMGR_SEC_OPT_SECCTRL_POS ) | PH_CLKEYSTOREMGR_SEC_OPT_SECCTRL_HW_ADDITIONAL_DUMMY_CYCLES_ENABLE)
#define PH_CLKEYSTOREMGR_SEC_OPT_SECCTRL_HW_ADDITIONAL_DUMMY_CYCLES(cycles) ( (( uint32_t ) ((cycles) & 0x3FF) << PH_CLKEYSTOREMGR_SEC_OPT_SECCTRL_POS ) | PH_CLKEYSTOREMGR_SEC_OPT_SECCTRL_HW_ADDITIONAL_DUMMY_CYCLES_ENABLE)
/** bit 26: SECCTRL enable additional dummy cycles */
#define PH_CLKEYSTOREMGR_SEC_OPT_SECCTRL_HW_ADDITIONAL_DUMMY_CYCLES_ENABLE ( ( uint32_t ) 0x01 << PH_CLKEYSTOREMGR_SEC_OPT_HW_ADDITIONAL_DUMMY_CYCLES_ENABLE_POS )
@@ -0,0 +1,34 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016 - 2020 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClKeyStoreMgr_StackUsage.h
* @brief: Stack usage information of the Crypto Library KeyStoreMgr component
*
*/
#ifndef __PH_CLKEYSTOREMGR_STACKUSAGE_H_
#define __PH_CLKEYSTOREMGR_STACKUSAGE_H_
#define PH_CLKEYSTOREMGR_LOADMASTERKEY_SIZE_STACK (66U)
#define PH_CLKEYSTOREMGR_UNLOADMASTERKEY_SIZE_STACK (36U)
#define PH_CLKEYSTOREMGR_SETPROTECTEDKEY_SIZE_STACK (148U)
#define PH_CLKEYSTOREMGR_GETPLAINKEY_SIZE_STACK (186U)
#define PH_CLKEYSTOREMGR_MAX_SIZE_STACK (186) // get max from the above
#endif /* __PH_CLKEYSTOREMGR_STACKUSAGE_H_*/
@@ -0,0 +1,32 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClKeyStoreMgr_TypeDefs.h
* @brief: Type definitions of the crypto library KeyStoreMgr component
*
*/
#ifndef __PHCLKEYSTOREMGR_TYPEDEFS_H_
#define __PHCLKEYSTOREMGR_TYPEDEFS_H_
#include <phCl_TypeDefs.h>
#define __PHCLKEYSTOREMGR_TYPES_DEFINED_
#include <phClKeyStoreMgr_CommonTypeDefs.h>
#endif /* __PHCLKEYSTOREMGR_TYPEDEFS_H_ */
@@ -0,0 +1,30 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017,2020 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClKeyStoreMgr_Version.h
* @brief: Version information of the Crypto Library KeyStoreMgr component
*
*/
#ifndef __PHCLKEYSTOREMGR_VERSION_H_
#define __PHCLKEYSTOREMGR_VERSION_H_
#define PH_CLKEYSTOREMGR_VERSION_MAJOR 0x03
#define PH_CLKEYSTOREMGR_VERSION_MINOR 0x00
#define PH_CLKEYSTOREMGR_VERSION_PATCH 0x01
#endif /* __PHCLKEYSTOREMGR_VERSION_H_ */
@@ -0,0 +1,71 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClKoreanSeed.h
* @brief: Jump tables of the crypto library KoreanSeed component
*
*/
#ifndef __PHCLKOREANSEED_JUMPTABLE_H_
#define __PHCLKOREANSEED_JUMPTABLE_H_
#include <phCl_TypeDefs.h>
#include <phClKoreanSeed_TypeDefs.h>
#include <phClSymCfg_TypeDefs.h>
#ifdef __cplusplus
extern "C" {
#endif
phClKoreanSeed_Err_t phClKoreanSeed_LoadKey_Long(phClSymCfg_LoadKey_Param_t *pParams) PH_CL_LONGCALL_ATTRIBUTE;
phClKoreanSeed_Err_t phClKoreanSeed_Crypt_Long(phClSymCfg_Crypt_Param_t *pParams) PH_CL_LONGCALL_ATTRIBUTE;
phClKoreanSeed_Err_t phClKoreanSeed_UnloadKey_Long(phClSymCfg_UnloadKey_Param_t *pParams) PH_CL_LONGCALL_ATTRIBUTE;
phClKoreanSeed_Err_t phClKoreanSeed_OneShotCrypt_Long(phClSymCfg_OneShotCrypt_Param_t *pParams) PH_CL_LONGCALL_ATTRIBUTE;
phClKoreanSeed_Err_t phClKoreanSeed_SetImportExportFcts_Long(phClSymCfg_SetImportExportFcts_Param_t *pParams) PH_CL_LONGCALL_ATTRIBUTE;
static inline phClKoreanSeed_Err_t phClKoreanSeed_LoadKey(phClSymCfg_LoadKey_Param_t *pParams)
{
return phClKoreanSeed_LoadKey_Long(pParams);
}
static inline phClKoreanSeed_Err_t phClKoreanSeed_Crypt(phClSymCfg_Crypt_Param_t *pParams)
{
return phClKoreanSeed_Crypt_Long(pParams);
}
static inline phClKoreanSeed_Err_t phClKoreanSeed_UnloadKey(phClSymCfg_UnloadKey_Param_t *pParams)
{
return phClKoreanSeed_UnloadKey_Long(pParams);
}
static inline phClKoreanSeed_Err_t phClKoreanSeed_OneShotCrypt(phClSymCfg_OneShotCrypt_Param_t *pParams)
{
return phClKoreanSeed_OneShotCrypt_Long(pParams);
}
static inline phClKoreanSeed_Err_t phClKoreanSeed_SetImportExportFcts(phClSymCfg_SetImportExportFcts_Param_t *pParams)
{
return phClKoreanSeed_SetImportExportFcts_Long(pParams);
}
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __PHCLKOREANSEED_JUMPTABLE_H_ */
@@ -0,0 +1,34 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClKoreanSeed_CommonTypeDefs.h
* @Author: beq07008
* @date: 19 Apr 2016
* @brief: Common type definitions for the OSCCA SM4 component
*
*/
#ifndef __PHCLKOREANSEED_COMMONTYPEDEFS_H_
#define __PHCLKOREANSEED_COMMONTYPEDEFS_H_
#ifndef __PHCLKOREANSEED_TYPES_DEFINED_
#error Do not include this header directly
#endif
#include <phClKoreanSeed_PlatformTypeDefs.h>
#endif //__PHCLKOREANSEED_TYPES_DEFINED_
@@ -0,0 +1,83 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClKoreanSeed_FunctionDefs.h
* @Author: beq07008
* @date: 26 Oct 2015
* @brief: Function prototype definitions for the Korean SEED component
*
*/
#ifndef __PHCLKOREANSEED_FUNCTIONDEFS_H_
#define __PHCLKOREANSEED_FUNCTIONDEFS_H_
#include <phClKoreanSeed_PlatformFunctionDefs.h>
#ifndef __PHCLKOREANSEED_TYPES_DEFINED_
#error Do not include this header directly
#endif
#ifdef __cplusplus
extern "C"
{
#endif
/** \brief Prototypes of all public Korean SEED functions */
/**
* \brief This function implements the Korean SEED key loading. Initializes Korean SEED context.
*
* \returns Status of the operation
*
* \param [in] pParams Pointer to load key params
*
* \retval ::PH_ERR_CLKOREANSEED_LOADKEY_OK Operation finished successfully
* \retval ::PH_ERR_CLKOREANSEED_ABORTED Operation aborted (if supported)
* \retval ::PH_ERR_CLKOREANSEED_FAULT_ATTACK Possible attack detected
*/
phClKoreanSeed_Err_t phClKoreanSeed_LoadKey( phClSymCfg_LoadKey_Param_t *pParams );
/**
* \brief This function implements Korean SEED key unloading
*
* \returns Status of the operation
*
* \param [in] pParams Pointer to unload key params
*
* \retval ::PH_ERR_CLKOREANSEED_UNLOADKEY_OK Operation finished successfully
* \retval ::PH_ERR_CLKOREANSEED_FAULT_ATTACK Possible attack detected
*/
phClKoreanSeed_Err_t phClKoreanSeed_UnloadKey( phClSymCfg_UnloadKey_Param_t *pParams );
/**
* \brief This function sets the pointer for special import/export functions
*
* \returns Status of the operation
*
* \param [in] pParams Pointer to Import/Export params
*
* \retval ::PH_ERR_CLKOREANSEED_SETIMPORTEXPORT_OK Operation finished successfully
* \retval ::PH_ERR_CLKOREANSEED_FAULT_ATTACK Possible attack detected
*/
phClKoreanSeed_Err_t phClKoreanSeed_SetImportExportFcts( phClSymCfg_SetImportExportFcts_Param_t *pParams );
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif // __PHCLKOREANSEED_FUNCTIONDEFS_H_
@@ -0,0 +1,68 @@
/*--------------------------------------------------------------------------*/
/* Copyright 2016,2017 NXP */
/* */
/* NXP Confidential. This software is owned or controlled by NXP and may */
/* only be used strictly in accordance with the applicable license terms. */
/* By expressly accepting such terms or by downloading, installing, */
/* activating and/or otherwise using the software, you are agreeing that */
/* you have read, and that you agree to comply with and are bound by, such */
/* license terms. If you do not agree to be bound by the applicable license */
/* terms, then you may not retain, install, activate or otherwise use the */
/* software. */
/*--------------------------------------------------------------------------*/
/* Security Classification: COMPANY CONFIDENTIAL */
/*--------------------------------------------------------------------------*/
/**
*
* @file: phClKoreanSeed_PlatformFunctionDefs.h
* @brief: Function prototype definitions for the Korean SEED component, platform-specific file
*
*/
#ifndef __PHCLKOREANSEED_PLATFORMFUNCTIONDEFS_H_
#define __PHCLKOREANSEED_PLATFORMFUNCTIONDEFS_H_
#ifndef __PHCLKOREANSEED_TYPES_DEFINED_
#error Do not include this header directly
#endif
#ifdef __cplusplus
extern "C"
{
#endif
/** \brief Prototypes of all public Korean SEED functions */
/**
* \brief This function implements Korean SEED encryption, decryption
*
* \returns Status of the operation
*
* \param [in] pParams Pointer to crypt key params
*
* \retval ::PH_ERR_CLKOREANSEED_CRYPT_OK Operation finished successfully
* \retval ::PH_ERR_CLKOREANSEED_FAULT_ATTACK Possible attack detected
*/
phClKoreanSeed_Err_t phClKoreanSeed_Crypt( phClSymCfg_Crypt_Param_t *pParams );
/**
* \brief This function implements Korean SEED encryption, decryption - without need to call load key function
*
* \returns Status of the operation
*
* \param [in] pParams Pointer to crypt key params
*
* \retval ::PH_ERR_CLKOREANSEED_CRYPT_OK Operation finished successfully
* \retval ::PH_ERR_CLKOREANSEED_FAULT_ATTACK Possible attack detected
*/
phClKoreanSeed_Err_t phClKoreanSeed_OneShotCrypt( phClSymCfg_OneShotCrypt_Param_t *pParams );
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif // __PHCLKOREANSEED_PLATFORMFUNCTIONDEFS_H_

Some files were not shown because too many files have changed in this diff Show More