mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
03d3874e51
19465: drivers/mtd: use XFA for pointers to defined MTDs r=benpicco a=gschorcht ### Contribution description This PR provides the support to hold pointers to defined MTDs within a XFA. The XFA allows - to access MTDs of different types (`mtd_flashpage`, `mtd_sdcard`, `mtd_emulated`, ...) by an index - to determine the number of MTDs defined in the system. ### Testing procedure To be defined once PR #19443 is merged because emulated MTDs will allow to test this PR on arbitrary boards. ### Porting Guide For external boards: - remove the `MTD_NUMOF` definition from `board.h` - add `MTD_XFA_ADD(<mtd_dev>, <idx>);` to the definition of `<mtd_dev>`. - `MTD_0`, `MTD_1`, … defines are no longer needed. ### Issues/PRs references Related to PR #19443 19981: Fletcher32: Add incremental API r=benpicco a=bergzand ### Contribution description This PR extends the current fletcher32 checksum with an incremental API mode. This way the bytes to be checksummed can be supplied via multiple successive calls and do not have to be provided in a single consecutive buffer. I've also rephrased the warning with the original function a bit as that function uses an `unaligned_get_u16` to access the data. The data thus does not require alignment, but the length does need to be supplied as number of 16 bit words. ### Testing procedure The test has been extended ### Issues/PRs references None 19995: sys/psa_crypto: Fix macro for public key max size and SE example r=benpicco a=Einhornhool ### Contribution description #### 1. Wrong public key size when using secure elements, introduced by #19954 Fixed conditions for key size macros in `crypto_sizes.h`. #### 2. EdDSA and ECDSA examples fail when using a secure element because of unsopported changes introduced by #19954 Updated `example/psa_crypto` to use only supported functions for secure elements. ### Testing procedure Build `example/psa_crypto` for secure elements and run application Output on master: ``` 2023-10-19 14:33:24,372 # main(): This is RIOT! (Version: 2019.07-devel-22378-gb6772) 2023-10-19 14:33:24,372 # HMAC SHA256 took 56393 us 2023-10-19 14:33:24,372 # Cipher AES 128 took 68826 us 2023-10-19 14:33:24,372 # *** RIOT kernel panic: 2023-10-19 14:33:24,373 # HARD FAULT HANDLER 2023-10-19 14:33:24,373 # 2023-10-19 14:33:24,373 # *** rebooting... ``` Output with fixes: ``` 2023-10-19 13:35:24,715 # main(): This is RIOT! (Version: 2019.07-devel-22384-g8ef66-dev/psa-crypto-fixes) 2023-10-19 13:35:24,715 # HMAC SHA256 took 56374 us 2023-10-19 13:35:24,715 # Cipher AES 128 took 68805 us 2023-10-19 13:35:24,715 # ECDSA took 281164 us 2023-10-19 13:35:24,715 # All Done ``` Co-authored-by: Gunar Schorcht <gunar@schorcht.net> Co-authored-by: Koen Zandberg <koen@bergzand.net> Co-authored-by: Lena Boeckmann <lena.boeckmann@haw-hamburg.de> |
||
---|---|---|
.. | ||
analog_util | ||
app_metadata | ||
arduino | ||
auto_init | ||
base64 | ||
benchmark | ||
bhp | ||
bitfield | ||
bloom | ||
bus | ||
can | ||
cb_mux | ||
checksum | ||
chunked_ringbuffer | ||
clif | ||
coding | ||
color | ||
congure | ||
cpp11-compat | ||
cpp_new_delete | ||
crypto | ||
cxx_ctor_guards | ||
debug_irq_disable | ||
div | ||
ecc | ||
eepreg | ||
embunit | ||
entropy_source | ||
event | ||
evtimer | ||
fido2 | ||
fmt | ||
frac | ||
fs | ||
fuzzing | ||
hashes | ||
include | ||
iolist | ||
isrpipe | ||
libc | ||
log_color | ||
log_printfnoformat | ||
luid | ||
malloc_thread_safe | ||
matstat | ||
memarray | ||
mineplex | ||
net | ||
newlib_syscalls_default | ||
od | ||
oneway-malloc | ||
phydat | ||
picolibc_syscalls_default | ||
pipe | ||
pm_layered | ||
posix | ||
preprocessor | ||
progress_bar | ||
ps | ||
psa_crypto | ||
puf_sram | ||
random | ||
riotboot | ||
rtc_utils | ||
rust_riotmodules | ||
rust_riotmodules_standalone | ||
saul_reg | ||
sched_round_robin | ||
schedstatistics | ||
sema | ||
sema_inv | ||
senml | ||
seq | ||
shell | ||
shell_lock | ||
ssp | ||
stdio_nimble | ||
stdio_null | ||
stdio_rtt | ||
stdio_semihosting | ||
stdio_uart | ||
stdio_udp | ||
suit | ||
test_utils | ||
timex | ||
tiny_strerror | ||
trace | ||
trickle | ||
tsrb | ||
universal_address | ||
uri_parser | ||
usb | ||
usb_board_reset | ||
ut_process | ||
uuid | ||
vfs | ||
vfs_util | ||
xtimer | ||
zptr | ||
ztimer | ||
ztimer64 | ||
doc.txt | ||
Kconfig | ||
Kconfig.newlib | ||
Kconfig.picolibc | ||
Kconfig.stdio | ||
Makefile | ||
Makefile.dep | ||
Makefile.include |