Counter based implementation for the flow protection mechanism, for a local security counter. More...
#include <mcuxCsslCPreProcessor.h>
#include <mcuxCsslAnalysis.h>
#include <mcuxCsslSecureCounter.h>
#include <stdint.h>
Go to the source code of this file.
Macros | |
#define | MCUX_CSSL_FP_DECL_NAME(type, id) |
Construct a name based on type and id. | |
#define | MCUX_CSSL_FP_DECL_IMPL(type, id) |
Generic flow protected entity declaration implementation. | |
#define | MCUX_CSSL_FP_ID_IMPL() |
Generic identifier generator based on current line number. | |
#define | MCUX_CSSL_FP_EXPECTATIONS(...) |
Expectation aggregation. | |
#define | MCUX_CSSL_FP_COUNTER_STMT_IMPL(statement) |
#define | MCUX_CSSL_FP_CONDITIONAL_IMPL(condition, ...) |
Conditional expectation aggregation. | |
#define | MCUX_CSSL_FP_VOID_EXPECTATION_IMPL() |
Implementation of expectation of nothing. | |
#define | MCUX_CSSL_FP_EXPECT_IMPL(...) |
Declaration(s) of expected code flow behavior. | |
#define | MCUX_CSSL_FP_FUNCTION_ID(id) |
Generator for function identifiers. | |
#define | MCUX_CSSL_FP_FUNCTION_ID_ENTRY_MASK |
Mask to be used to derive entry part from a function identifier. | |
#define | MCUX_CSSL_FP_FUNCTION_ID_ENTRY_PART(id) |
Part of the function identifier to be used at function entry. | |
#define | MCUX_CSSL_FP_FUNCTION_ID_EXIT_PART(id) |
Part of the function identifier to be used at function exit. | |
#define | MCUX_CSSL_FP_FUNCTION_DECL_IMPL(...) |
Declaration implementation of a flow protected function. | |
#define | MCUX_CSSL_FP_FUNCTION_VALUE(id) |
Macro to get the value for a given function. | |
#define | MCUX_CSSL_FP_FUNCTION_DEF_IMPL(...) |
Definition implementation of a flow protected function. | |
#define | MCUX_CSSL_FP_FUNCTION_POINTER_IMPL(type, definition) |
Definition implementation of a flow protected function pointer. | |
#define | MCUX_CSSL_FP_RESULT_OFFSET |
Offset of the result in the return value. | |
#define | MCUX_CSSL_FP_RESULT_MASK |
Bitmask of the result in the return value. | |
#define | MCUX_CSSL_FP_RESULT_VALUE(result) |
Encode a result value for a protected return value. | |
#define | MCUX_CSSL_FP_RESULT_IMPL2(type, return) |
Extract the result value from a protected return value. | |
#define | MCUX_CSSL_FP_RESULT_IMPL1(return) |
Extract the result value from a protected return value. | |
#define | MCUX_CSSL_FP_RESULT_IMPL(...) |
Extract the result value from a protected return value. | |
#define | MCUX_CSSL_FP_PROTECTION_OFFSET |
Offset of the protection token in the return value. | |
#define | MCUX_CSSL_FP_PROTECTION_MASK |
Bitmask of the protection token in the return value. | |
#define | MCUX_CSSL_FP_PROTECTION_TOKEN_VALUE(token) |
Encode a protection token for a protected return value. | |
#define | MCUX_CSSL_FP_PROTECTION_TOKEN_IMPL(return) |
Extract the protection token value from a protected return value. | |
#define | MCUX_CSSL_FP_COUNTER_COMPRESSED() |
Compressed version of the secure counter that can be used as a protection token. | |
#define | MCUX_CSSL_FP_FUNCTION_CALLED_IMPL(id) |
Expectation implementation of a called function. | |
#define | MCUX_CSSL_FP_FUNCTION_ENTERED_IMPL(id) |
Expectation implementation of an entered (but not exited) function. | |
#define | MCUX_CSSL_FP_LOOP_ID(id) |
Generator for loop identifiers. | |
#define | MCUX_CSSL_FP_LOOP_DECL_IMPL(id) |
Declaration implementation of a flow protected loop. | |
#define | MCUX_CSSL_FP_LOOP_VALUE(id) |
Macro to get the value for a given loop. | |
#define | MCUX_CSSL_FP_LOOP_ITERATION_IMPLn(id, ...) |
Event implementation of a loop iteration (with expectations). | |
#define | MCUX_CSSL_FP_LOOP_ITERATION_IMPL1(id) |
Event implementation of a loop iteration (without expectations). | |
#define | MCUX_CSSL_FP_LOOP_ITERATION_IMPL(...) |
Event implementation of a loop iteration. | |
#define | MCUX_CSSL_FP_LOOP_ITERATIONS_IMPL(id, count) |
Expectation implementation of a number of loop iterations. | |
#define | MCUX_CSSL_FP_BRANCH_ID(id) |
Generator for branch identifiers. | |
#define | MCUX_CSSL_FP_BRANCH_DECL_IMPL(id) |
Declaration implementation of a flow protected branch. | |
#define | MCUX_CSSL_FP_BRANCH_VALUE(id) |
Macro to get the value for a given branch. | |
#define | MCUX_CSSL_FP_BRANCH_POSITIVE_VALUE |
Value to use for the positive scenario. | |
#define | MCUX_CSSL_FP_BRANCH_NEGATIVE_VALUE |
Value to use for the negative scenario. | |
#define | MCUX_CSSL_FP_BRANCH_SCENARIO_IMPL(id, scenario, ...) |
Event implementation for the execution of a specified branch scenario. | |
#define | MCUX_CSSL_FP_BRANCH_POSITIVE_IMPLn(id, ...) |
Event implementation for the execution of a positive branch scenario (with expectations). | |
#define | MCUX_CSSL_FP_BRANCH_POSITIVE_IMPL1(id) |
Event implementation for the execution of a positive branch scenario (without expectations). | |
#define | MCUX_CSSL_FP_BRANCH_POSITIVE_IMPL(...) |
Event implementation for the execution of a positive branch scenario. | |
#define | MCUX_CSSL_FP_BRANCH_NEGATIVE_IMPLn(id, ...) |
Event implementation for the execution of a negative branch scenario (with expectations). | |
#define | MCUX_CSSL_FP_BRANCH_NEGATIVE_IMPL1(id) |
Event implementation for the execution of a negative branch scenario (without expectations). | |
#define | MCUX_CSSL_FP_BRANCH_NEGATIVE_IMPL(...) |
Event implementation for the execution of a negative branch scenario. | |
#define | MCUX_CSSL_FP_BRANCH_TAKEN_IMPL(id, scenario, condition) |
Expectation implementation of an executed specified branch scenario. | |
#define | MCUX_CSSL_FP_BRANCH_TAKEN_POSITIVE_IMPL2(id, condition) |
Expectation implementation of an executed positive branch (with condition). | |
#define | MCUX_CSSL_FP_BRANCH_TAKEN_POSITIVE_IMPL1(id) |
Expectation implementation of an executed positive branch (without condition). | |
#define | MCUX_CSSL_FP_BRANCH_TAKEN_POSITIVE_IMPL(...) |
Expectation implementation of an executed positive branch. | |
#define | MCUX_CSSL_FP_BRANCH_TAKEN_NEGATIVE_IMPL2(id, condition) |
Expectation implementation of an executed negative branch (with condition). | |
#define | MCUX_CSSL_FP_BRANCH_TAKEN_NEGATIVE_IMPL1(id) |
Expectation implementation of an executed negative branch (without condition). | |
#define | MCUX_CSSL_FP_BRANCH_TAKEN_NEGATIVE_IMPL(...) |
Expectation implementation of an executed negative branch. | |
#define | MCUX_CSSL_FP_SWITCH_ID(id) |
Generator for switch identifiers. | |
#define | MCUX_CSSL_FP_SWITCH_DECL_IMPL(id) |
Declaration implementation of a flow protected switch. | |
#define | MCUX_CSSL_FP_SWITCH_VALUE(id) |
Macro to get the value for a given switch. | |
#define | MCUX_CSSL_FP_SWITCH_CASE_IMPLn(id, case, ...) |
Case that is being handled from a switch. | |
#define | MCUX_CSSL_FP_SWITCH_CASE_IMPL2(id, case) |
Case that is being handled from a switch. | |
#define | MCUX_CSSL_FP_SWITCH_CASE_IMPL(...) |
Case that is being handled from a switch. | |
#define | MCUX_CSSL_FP_SWITCH_DEFAULT_VALUE |
Value to use for default case. | |
#define | MCUX_CSSL_FP_SWITCH_DEFAULT_IMPLn(id, ...) |
Case that is being handled from a switch. | |
#define | MCUX_CSSL_FP_SWITCH_DEFAULT_IMPL1(id) |
Case that is being handled from a switch. | |
#define | MCUX_CSSL_FP_SWITCH_DEFAULT_IMPL(...) |
Case that is being handled from a switch. | |
#define | MCUX_CSSL_FP_SWITCH_TAKEN_IMPL3(id, case, condition) |
Expected that a specific case is handled from a switch. | |
#define | MCUX_CSSL_FP_SWITCH_TAKEN_IMPL2(id, case) |
Expected that a specific case is handled from a switch. | |
#define | MCUX_CSSL_FP_SWITCH_TAKEN_IMPL(...) |
Expected that a specific case is handled from a switch. | |
#define | MCUX_CSSL_FP_SWITCH_TAKEN_DEFAULT_IMPL2(id, condition) |
Expected that default case is handled from a switch. | |
#define | MCUX_CSSL_FP_SWITCH_TAKEN_DEFAULT_IMPL1(id) |
Expected that default case is handled from a switch. | |
#define | MCUX_CSSL_FP_SWITCH_TAKEN_DEFAULT_IMPL(...) |
Expected that default case is handled from a switch. | |
#define | MCUX_CSSL_FP_ASSERT_CALLBACK() |
Fallback assert callback implementation. | |
Counter based implementation for the flow protection mechanism, for a local security counter.
#define MCUX_CSSL_FP_FUNCTION_POINTER_IMPL | ( | type, | |
definition | |||
) |
Definition implementation of a flow protected function pointer.
type | Identifier for the function pointer type that is flow protected. |
definition | Actual type definition of the function pointer type. |