mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
pkg/mbedtls/init: add dedicated mbedtls auto-init module
This commit is contained in:
parent
e2d6f97982
commit
f9ecfab2c1
@ -1,3 +1,5 @@
|
|||||||
|
DEFAULT_MODULE += auto_init_mbedtls
|
||||||
|
|
||||||
ifneq (,$(filter mbedtls_%,$(USEMODULE)))
|
ifneq (,$(filter mbedtls_%,$(USEMODULE)))
|
||||||
USEMODULE += mbedtls_contrib
|
USEMODULE += mbedtls_contrib
|
||||||
endif
|
endif
|
||||||
|
@ -35,6 +35,11 @@ ifneq (,$(filter mbedtls_self_test,$(USEMODULE)))
|
|||||||
CFLAGS += -DCONFIG_MBEDTLS_SELF_TEST=1
|
CFLAGS += -DCONFIG_MBEDTLS_SELF_TEST=1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
NO_PSEUDOMODULES += auto_init_mbedtls
|
||||||
|
ifneq (,$(filter auto_init_mbedtls,$(USEMODULE)))
|
||||||
|
DIRS += $(RIOTBASE)/pkg/mbedtls/init
|
||||||
|
endif
|
||||||
|
|
||||||
ifneq (,$(filter mbedtls_crypto,$(USEMODULE)))
|
ifneq (,$(filter mbedtls_crypto,$(USEMODULE)))
|
||||||
include $(RIOTPKG)/mbedtls/contrib/crypto/Makefile.include
|
include $(RIOTPKG)/mbedtls/contrib/crypto/Makefile.include
|
||||||
endif
|
endif
|
||||||
|
@ -47,7 +47,7 @@ int mbedtls_platform_mutex_unlock(mbedtls_threading_mutex_t *mutex)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void auto_init_mbedtls(void)
|
void threading_mbedtls_riot_init(void)
|
||||||
{
|
{
|
||||||
/* Configure mbedTLS to use RIOT specific threading functions. */
|
/* Configure mbedTLS to use RIOT specific threading functions. */
|
||||||
mbedtls_threading_set_alt( mbedtls_platform_mutex_init,
|
mbedtls_threading_set_alt( mbedtls_platform_mutex_init,
|
||||||
|
@ -35,6 +35,11 @@ typedef struct {
|
|||||||
mutex_t riot_mutex; /**< RIOT mutex structure */
|
mutex_t riot_mutex; /**< RIOT mutex structure */
|
||||||
} mbedtls_threading_mutex_t;
|
} mbedtls_threading_mutex_t;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Initialize alternative threading API of RIOT
|
||||||
|
*/
|
||||||
|
void threading_mbedtls_riot_init(void);
|
||||||
|
|
||||||
#endif /* MBEDTLS_THREADING_ALT */
|
#endif /* MBEDTLS_THREADING_ALT */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
3
pkg/mbedtls/init/Makefile
Normal file
3
pkg/mbedtls/init/Makefile
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
MODULE = auto_init_mbedtls
|
||||||
|
|
||||||
|
include $(RIOTBASE)/Makefile.base
|
49
pkg/mbedtls/init/auto_init_mbedtls.c
Normal file
49
pkg/mbedtls/init/auto_init_mbedtls.c
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2021 HAW Hamburg
|
||||||
|
* 2023 ML!PA Consulting Gmbh
|
||||||
|
*
|
||||||
|
* This file is subject to the terms and conditions of the GNU Lesser
|
||||||
|
* General Public License v2.1. See the file LICENSE in the top level
|
||||||
|
* directory for more details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup sys_auto_init
|
||||||
|
* @{
|
||||||
|
* @file
|
||||||
|
* @brief Initializes RIOT mbedtls modue
|
||||||
|
*
|
||||||
|
* @author Peter Kietzmann <peter.kietzmann@haw-hamburg.de>
|
||||||
|
* @author Fabian Hüßler <fabian.huessler@ml-pa.com>
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "modules.h"
|
||||||
|
#include "log.h"
|
||||||
|
|
||||||
|
#if IS_USED(MODULE_MBEDTLS_THREADING)
|
||||||
|
#include "mbedtls/threading.h"
|
||||||
|
#include "threading_alt.h"
|
||||||
|
#endif
|
||||||
|
#if IS_USED(MODULE_MBEDTLS_ENTROPY)
|
||||||
|
#include "entropy_mbedtls_riot.h"
|
||||||
|
#endif
|
||||||
|
#if IS_USED(MODULE_MBEDTLS_RANDOM)
|
||||||
|
#include "random_mbedtls_riot.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define ENABLE_DEBUG 0
|
||||||
|
#include "debug.h"
|
||||||
|
|
||||||
|
void auto_init_mbedtls(void)
|
||||||
|
{
|
||||||
|
#if IS_USED(MODULE_MBEDTLS_THREADING_ALT)
|
||||||
|
threading_mbedtls_riot_init();
|
||||||
|
#endif
|
||||||
|
#if IS_USED(MODULE_MBEDTLS_ENTROPY)
|
||||||
|
entropy_mbedtls_riot_init();
|
||||||
|
#endif
|
||||||
|
#if IS_USED(MODULE_MBEDTLS_RANDOM)
|
||||||
|
random_mbedtls_riot_init();
|
||||||
|
#endif
|
||||||
|
}
|
@ -272,7 +272,7 @@ extern void suit_init_conditions(void);
|
|||||||
AUTO_INIT(suit_init_conditions,
|
AUTO_INIT(suit_init_conditions,
|
||||||
AUTO_INIT_PRIO_MOD_SUIT);
|
AUTO_INIT_PRIO_MOD_SUIT);
|
||||||
#endif
|
#endif
|
||||||
#if IS_USED(MODULE_MBEDTLS)
|
#if IS_USED(MODULE_AUTO_INIT_MBEDTLS)
|
||||||
extern void auto_init_mbedtls(void);
|
extern void auto_init_mbedtls(void);
|
||||||
AUTO_INIT(auto_init_mbedtls,
|
AUTO_INIT(auto_init_mbedtls,
|
||||||
AUTO_INIT_PRIO_MOD_MBEDTLS);
|
AUTO_INIT_PRIO_MOD_MBEDTLS);
|
||||||
|
Loading…
Reference in New Issue
Block a user